From 54f5393ba765baf56832595a8d7ab48e06488200 Mon Sep 17 00:00:00 2001 From: Cameron Ball Date: Tue, 18 Nov 2014 16:46:39 +0800 Subject: [PATCH] Pack entity builder stuff. Not tested yet. --- Domain/Entities/StepMania/IPackBuilder.php | 15 ++++ Domain/Entities/StepMania/Pack.php | 4 +- Domain/Entities/StepMania/PackBuilder.php | 55 +++++++++++++++ Domain/Entities/StepMania/PackFactory.php | 33 +++++++++ .../Entities/StepMania/PackStepByStepBuilder.php | 81 ++++++++++++++++++++++ Domain/Entities/StepMania/SimfileBuilder.php | 1 - .../StepMania/SimfileStepByStepBuilder.php | 30 +++++--- 7 files changed, 205 insertions(+), 14 deletions(-) create mode 100644 Domain/Entities/StepMania/IPackBuilder.php create mode 100644 Domain/Entities/StepMania/PackBuilder.php create mode 100644 Domain/Entities/StepMania/PackFactory.php create mode 100644 Domain/Entities/StepMania/PackStepByStepBuilder.php diff --git a/Domain/Entities/StepMania/IPackBuilder.php b/Domain/Entities/StepMania/IPackBuilder.php new file mode 100644 index 0000000..10e5d6d --- /dev/null +++ b/Domain/Entities/StepMania/IPackBuilder.php @@ -0,0 +1,15 @@ +_title = $title; $this->_uploader = $uploader; $this->_file = $file; diff --git a/Domain/Entities/StepMania/PackBuilder.php b/Domain/Entities/StepMania/PackBuilder.php new file mode 100644 index 0000000..e9f1099 --- /dev/null +++ b/Domain/Entities/StepMania/PackBuilder.php @@ -0,0 +1,55 @@ +_packFactory = $packFactory; + } + + public function With_Title($title) + { + $this->_title = $title; + return $this; + } + + public function With_File(IFile $file) + { + $this->_file = $file; + return $this; + } + + public function With_Simfiles(array $simfiles) + { + $this->_simfiles = $simfiles; + return $this; + } + + public function With_Uploader(IUser $uploader) + { + $this->_uploader = $uploader; + return $this; + } + + public function build() + { + return $this->_packFactory->createInstance($this->_title, + $this->_uploader, + $this->_simfiles); + } +} \ No newline at end of file diff --git a/Domain/Entities/StepMania/PackFactory.php b/Domain/Entities/StepMania/PackFactory.php new file mode 100644 index 0000000..6723466 --- /dev/null +++ b/Domain/Entities/StepMania/PackFactory.php @@ -0,0 +1,33 @@ +_packBuilder = $builder; + } +} + + +class PackStepByStepBuilder extends AbstractPackStepByStepBuilder implements IPackStepByStepBuilder +{ + public function With_Title($title) + { + $this->_packBuilder->With_Title($title); + return new PackStepByStepBuilder_With_Title($this->_packBuilder); + } +} + +class PackStepByStepBuilder_With_Title extends AbstractPackStepByStepBuilder implements IPackStepByStepBuilder_With_Title +{ + public function With_Uploader(IUser $user) + { + $this->_packBuilder->With_Artist($artist); + return new PackStepByStepBuilder_With_Artist($this->_packBuilder); + } +} + +class PackStepByStepBuilder_With_Uploader extends AbstractPackStepByStepBuilder implements IPackStepByStepBuilder_With_Uploader +{ + public function With_Simfiles(array $simfiles) + { + $this->_packBuilder->With_Simfiles($simfiles); + return new PackStepByStepBuilder_With_Simfiles($this->_packBuilder); + } +} + +class PackStepByStepBuilder_With_Simfiles extends AbstractPackStepByStepBuilder implements IPackStepByStepBuilder_With_Simfiles +{ + public function With_File(Ifile $file) + { + $this->_packBuilder->With_File($file); + } + + public function build() + { + return $this->_simfileBuilder + ->build(); + } +} diff --git a/Domain/Entities/StepMania/SimfileBuilder.php b/Domain/Entities/StepMania/SimfileBuilder.php index bc80945..c8afcd2 100644 --- a/Domain/Entities/StepMania/SimfileBuilder.php +++ b/Domain/Entities/StepMania/SimfileBuilder.php @@ -11,7 +11,6 @@ use Domain\Entities\StepMania\ISimfileBuilder; class SimfileBuilder implements ISimfileBuilder { - /* var $_simfileFactor Domain\Entities\StepMania\ISimfileFactory */ private $_simfileFactory; private $_title; private $_artist; diff --git a/Domain/Entities/StepMania/SimfileStepByStepBuilder.php b/Domain/Entities/StepMania/SimfileStepByStepBuilder.php index dfc5cbb..8f03a2f 100644 --- a/Domain/Entities/StepMania/SimfileStepByStepBuilder.php +++ b/Domain/Entities/StepMania/SimfileStepByStepBuilder.php @@ -2,7 +2,6 @@ namespace Domain\Entities\StepMania; -use Domain\ConstantsAndTypes\SIMFILE_CONSTANT; use Domain\VOs\StepMania\IArtist; use Domain\VOs\StepMania\IBPM; use Domain\Entities\StepMania\ISimfileBuilder; @@ -21,7 +20,7 @@ interface ISimfileStepByStepBuilder_With_Title interface ISimfileStepByStepBuilder_With_Artist { - public function With_Uploader(IUser $uploader); //TODO: Make user object + public function With_Uploader(IUser $uploader); } interface ISimfileStepByStepBuilder_With_Uploader @@ -76,7 +75,8 @@ abstract class AbstractSimfileStepByStepBuilder class SimfileStepByStepBuilder extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder { - public function With_Title($title) { + public function With_Title($title) + { $this->_simfileBuilder->With_Title($title); return new SimfileStepByStepBuilder_With_Title($this->_simfileBuilder); } @@ -102,7 +102,8 @@ class SimfileStepByStepBuilder_With_Artist extends AbstractSimfileStepByStepBuil class SimfileStepByStepBuilder_With_Uploader extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_Uploader { - public function With_BPM(IBPM $bpm) { + public function With_BPM(IBPM $bpm) + { $this->_simfileBuilder->With_BPM($bpm); return new SimfileStepByStepBuilder_With_BPM($this->_simfileBuilder); } @@ -110,7 +111,8 @@ class SimfileStepByStepBuilder_With_Uploader extends AbstractSimfileStepByStepBu class SimfileStepByStepBuilder_With_BPM extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_BPM { - public function With_BpmChanges($const) { + public function With_BpmChanges($const) + { $this->_simfileBuilder->With_BpmChanges($const); return new SimfileStepByStepBuilder_With_BpmChanges($this->_simfileBuilder); } @@ -126,7 +128,8 @@ class SimfileStepByStepBuilder_With_BpmChanges extends AbstractSimfileStepByStep class SimfileStepByStepBuilder_With_Stops extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_Stops { - public function With_FgChanges($const) { + public function With_FgChanges($const) + { $this->_simfileBuilder->With_FgChanges($const); return new SimfileStepByStepBuilder_With_FgChanges($this->_simfileBuilder); } @@ -134,7 +137,8 @@ class SimfileStepByStepBuilder_With_Stops extends AbstractSimfileStepByStepBuild class SimfileStepByStepBuilder_With_FgChanges extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_FgChanges { - public function With_BgChanges($const) { + public function With_BgChanges($const) + { $this->_simfileBuilder->With_BgChanges($const); return new SimfileStepByStepBuilder_With_BgChanges($this->_simfileBuilder); } @@ -142,7 +146,8 @@ class SimfileStepByStepBuilder_With_FgChanges extends AbstractSimfileStepByStepB class SimfileStepByStepBuilder_With_BgChanges extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_BgChanges { - public function With_Steps(array $steps) { + public function With_Steps(array $steps) + { $this->_simfileBuilder->With_Steps($steps); return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder); } @@ -150,17 +155,20 @@ class SimfileStepByStepBuilder_With_BgChanges extends AbstractSimfileStepByStepB class SimfileStepByStepBuilder_With_Steps extends AbstractSimfileStepByStepBuilder implements ISimfileStepByStepBuilder_With_Steps { - public function With_Banner(IFile $banner) { + public function With_Banner(IFile $banner) + { $this->_simfileBuilder->With_Banner($banner); return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder); } - public function With_Simfile(IFile $simfile) { + public function With_Simfile(IFile $simfile) + { $this->_simfileBuilder->With_Simfile($simfile); return new SimfileStepByStepBuilder_With_Steps($this->_simfileBuilder); } - public function build() { + public function build() + { return $this->_simfileBuilder ->build(); } -- 2.11.0