3 namespace Domain\Entities\StepMania
;
5 use Domain\Entities\IUser
;
6 use Domain\Entities\IFile
;
7 use Domain\Entities\StepMania\IPackFactory
;
8 use Domain\Entities\StepMania\IPackBuilder
;
10 class PackBuilder
implements IPackBuilder
13 private $_packFactory;
20 public function __construct(IPackFactory
$packFactory)
22 $this->_packFactory
= $packFactory;
25 public function With_Title($title)
27 $this->_title
= $title;
31 public function With_File(IFile
$file)
37 public function With_Simfiles(array $simfiles)
39 $this->_simfiles
= $simfiles;
43 public function With_Uploader(IUser
$uploader)
45 $this->_uploader
= $uploader;
49 public function build()
51 return $this->_packFactory
->createInstance($this->_title
,