src/Model/ListingItem/ListingItem.php line 10

Open in your IDE?
  1. <?php
  2. namespace App\Model\ListingItem;
  3. use App\Model\Listing\Listing;
  4. use App\Model\Traits\ImportableObjectTrait;
  5. use Symfony\Component\Serializer\Annotation\Groups;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. class ListingItem
  8. {
  9.     use ImportableObjectTrait;
  10.     /**
  11.      * @var string
  12.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "read_post_listing_item", "read_put_listing_item", "write_post_listing", "read_post_listing"})
  13.      */
  14.     private $id;
  15.     /**
  16.      * @var string
  17.      * @Assert\NotNull()
  18.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "write_post_listing_item", "read_post_listing_item", "write_put_listing_item", "read_put_listing_item","write_post_listing", "read_post_listing"})
  19.      */
  20.     private $name;
  21.     /**
  22.      * @var Listing
  23.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "read_post_listing_item", "read_put_listing_item"})
  24.      */
  25.     private $listing;
  26.     /**
  27.      * @var string
  28.      * @Groups({"write_post_listing_item", "write_put_listing_item"})
  29.      */
  30.     private $listingId;
  31.     /**
  32.      * @var string
  33.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "write_post_listing_item", "read_post_listing_item", "write_put_listing_item", "read_put_listing_item"})
  34.      */
  35.     private $type;
  36.     /**
  37.      * @var bool
  38.      * @Assert\NotNull()
  39.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "write_post_listing_item", "read_post_listing_item", "write_put_listing_item", "read_put_listing_item", "write_post_listing", "read_post_listing"})
  40.      */
  41.     private $isActive true;
  42.     /**
  43.      * @var int
  44.      * @Assert\NotNull()
  45.      * @Groups({"list_listing_item", "read_listing_item", "read_listing", "sub_listing", "write_post_listing_item", "read_post_listing_item", "write_put_listing_item", "read_put_listing_item", "write_post_listing", "read_post_listing"})
  46.      */
  47.     private $position;
  48.     /**
  49.      * @return string|null
  50.      */
  51.     public function getId(): ?string
  52.     {
  53.         return $this->id;
  54.     }
  55.     /**
  56.      * @param string $id
  57.      *
  58.      * @return ListingItem
  59.      */
  60.     public function setId(?string $id): self
  61.     {
  62.         $this->id $id;
  63.         return $this;
  64.     }
  65.     /**
  66.      * @return string|null
  67.      */
  68.     public function getName(): ?string
  69.     {
  70.         return $this->name;
  71.     }
  72.     /**
  73.      * @param string $name
  74.      *
  75.      * @return ListingItem
  76.      */
  77.     public function setName(?string $name): self
  78.     {
  79.         $this->name $name;
  80.         return $this;
  81.     }
  82.     /**
  83.      * @return Listing|null
  84.      */
  85.     public function getListing(): ?Listing
  86.     {
  87.         return $this->listing;
  88.     }
  89.     /**
  90.      * @param Listing $listing
  91.      *
  92.      * @return ListingItem
  93.      */
  94.     public function setListing(?Listing $listing): self
  95.     {
  96.         $this->listing $listing;
  97.         $listing->addListingItem($this);
  98.         return $this;
  99.     }
  100.     /**
  101.      * @return string|null
  102.      */
  103.     public function getListingId(): ?string
  104.     {
  105.         return $this->listingId;
  106.     }
  107.     /**
  108.      * @param string|null $listingId
  109.      *
  110.      * @return ListingItem
  111.      */
  112.     public function setListingId(?string $listingId): self
  113.     {
  114.         $this->listingId $listingId;
  115.         return $this;
  116.     }
  117.     /**
  118.      * @return string|null
  119.      */
  120.     public function getType(): ?string
  121.     {
  122.         return $this->type;
  123.     }
  124.     /**
  125.      * @param string $type
  126.      *
  127.      * @return ListingItem
  128.      */
  129.     public function setType(?string $type): self
  130.     {
  131.         $this->type $type;
  132.         return $this;
  133.     }
  134.     /**
  135.      * @return bool
  136.      */
  137.     public function getIsActive(): bool
  138.     {
  139.         return $this->isActive;
  140.     }
  141.     /**
  142.      * @param bool $isActive
  143.      *
  144.      * @return ListingItem
  145.      */
  146.     public function setIsActive(bool $isActive): self
  147.     {
  148.         $this->isActive $isActive;
  149.         return $this;
  150.     }
  151.     /**
  152.      * @return string
  153.      */
  154.     public function __toString(): string
  155.     {
  156.         return $this->name;
  157.     }
  158.     /**
  159.      * @return int|null
  160.      */
  161.     public function getPosition(): ?int
  162.     {
  163.         return $this->position;
  164.     }
  165.     /**
  166.      * @param int $position
  167.      *
  168.      * @return ListingItem
  169.      */
  170.     public function setPosition(int $position): self
  171.     {
  172.         $this->position $position;
  173.         return $this;
  174.     }
  175. }