Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.62 KB | None | 0 0
  1. <?php
  2.  
  3. namespace JuanPescador\Domain\Person\Command;
  4.  
  5. use IctWorks\SharedKernel\Domain\ValueObject\Date\ImmutableDateTime;
  6. use IctWorks\SharedKernel\Domain\ValueObject\Email;
  7. use IctWorks\SharedKernel\Domain\ValueObject\Language;
  8. use IctWorks\SharedKernel\Domain\ValueObject\PersonName;
  9. use IctWorks\SharedKernel\Domain\ValueObject\PhoneNumber;
  10. use JuanPescador\Domain\Person\Gender;
  11. use JuanPescador\Domain\Person\PersonType;
  12. use JuanPescador\Domain\Person\Picture;
  13. use Rhumsaa\Uuid\Uuid;
  14.  
  15. /**
  16.  * Class RegisterPersonCommand
  17.  * @package JuanPescador\Domain\Person\Command
  18.  * @author  Dariusz Gafka <dgafka.mail@gmail.com>
  19.  */
  20. class RegisterPersonCommand
  21. {
  22.     /**
  23.      * @var Uuid
  24.      */
  25.     private $personId;
  26.     /**
  27.      * @var Email
  28.      */
  29.     private $email;
  30.     /**
  31.      * @var PersonType
  32.      */
  33.     private $personType;
  34.     /**
  35.      * @var PersonName
  36.      */
  37.     private $personName;
  38.     /**
  39.      * @var Gender
  40.      */
  41.     private $gender;
  42.     /**
  43.      * @var Language
  44.      */
  45.     private $primaryLanguage;
  46.     /**
  47.      * @var PhoneNumber|null
  48.      */
  49.     private $phoneNumber;
  50.     /**
  51.      * @var Picture|null
  52.      */
  53.     private $picture;
  54.     /**
  55.      * @var ImmutableDateTime|null
  56.      */
  57.     private $dateOfBirth;
  58.  
  59.     /**
  60.      * RegisterPersonCommand constructor.
  61.      *
  62.      * @param Uuid                   $personId
  63.      * @param Email                  $email
  64.      * @param PersonType             $personType
  65.      * @param PersonName             $personName
  66.      * @param Gender                 $gender
  67.      * @param Language               $primaryLanguage
  68.      * @param PhoneNumber|null       $phoneNumber
  69.      * @param Picture|null           $picture
  70.      * @param ImmutableDateTime|null $dateOfBirth
  71.      */
  72.     public function __construct(Uuid $personId, Email $email, PersonType $personType, PersonName $personName, Gender $gender, Language $primaryLanguage, ?PhoneNumber $phoneNumber, ?Picture $picture, ?ImmutableDateTime $dateOfBirth)
  73.     {
  74.         $this->personId   = $personId;
  75.         $this->email      = $email;
  76.         $this->personType = $personType;
  77.         $this->personName = $personName;
  78.         $this->gender     = $gender;
  79.         $this->primaryLanguage = $primaryLanguage;
  80.         $this->phoneNumber = $phoneNumber;
  81.         $this->picture = $picture;
  82.         $this->dateOfBirth = $dateOfBirth;
  83.     }
  84.  
  85.     /**
  86.      * @return Uuid
  87.      */
  88.     public function getPersonId(): Uuid
  89.     {
  90.         return $this->personId;
  91.     }
  92.  
  93.     /**
  94.      * @return Email
  95.      */
  96.     public function getEmail(): Email
  97.     {
  98.         return $this->email;
  99.     }
  100.  
  101.     /**
  102.      * @return PersonType
  103.      */
  104.     public function getPersonType(): PersonType
  105.     {
  106.         return $this->personType;
  107.     }
  108.  
  109.     /**
  110.      * @return PersonName
  111.      */
  112.     public function getPersonName(): PersonName
  113.     {
  114.         return $this->personName;
  115.     }
  116.  
  117.     /**
  118.      * @return Gender
  119.      */
  120.     public function getGender(): Gender
  121.     {
  122.         return $this->gender;
  123.     }
  124.  
  125.     /**
  126.      * @return PhoneNumber|null
  127.      */
  128.     public function getPhoneNumber() : ?PhoneNumber
  129.     {
  130.         return $this->phoneNumber;
  131.     }
  132.  
  133.     /**
  134.      * @return Picture|null
  135.      */
  136.     public function getPicture() : ?Picture
  137.     {
  138.         return $this->picture;
  139.     }
  140.  
  141.     /**
  142.      * @return ImmutableDateTime|null
  143.      */
  144.     public function getDateOfBirth() : ?ImmutableDateTime
  145.     {
  146.         return $this->dateOfBirth;
  147.     }
  148.  
  149.     /**
  150.      * @return Language
  151.      */
  152.     public function getPrimaryLanguage(): Language
  153.     {
  154.         return $this->primaryLanguage;
  155.     }
  156. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement