Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
<?php


namespace DigitalAscetic\NotificationsBundle\Entity;


use DigitalAscetic\BaseEntityBundle\Entity\BaseObject;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;

/**
 * Class Receiver
 * @package DigitalAscetic\NotificationsBundle\Entity
 *
 * @ORM\Embeddable
 */
#[ORM\Embeddable]
class Receiver extends BaseObject
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @Groups({"ascetic.notification.receiver"})
     */
    #[ORM\Column(name: "id", type: "integer", nullable: false)]
    #[Groups("ascetic.notification.receiver")]
    private int $id;

    /**
     * @var string|null
     *
     * @ORM\Column(name="name", type="string", nullable=true)
     * @Groups({"ascetic.notification.receiver"})
     */
    #[ORM\Column(name: "name", type: "string", nullable: true)]
    #[Groups("ascetic.notification.receiver")]
    private ?string $name = null;


    /**
     * Store contact information as json, to allow handle infinite types of contact types
     *
     * @var string|null
     *
     * @ORM\Column(name="contactData", type="text", length=10000, nullable=true)
     * @Groups({"ascetic.notification.receiver"})
     */
    #[ORM\Column(name: "contactData", type: "text", length: 10000, nullable: true)]
    #[Groups("ascetic.notification.receiver")]
    private ?string $contactData = null;

    /**
     * Receiver constructor.
     * @param int $id
     */
    public function __construct(int $id)
    {
        $this->id = $id;
    }

    /**
     * @return int
     */
    public function getId(): int
    {
        return $this->id;
    }

    /**
     * @return string|null
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * @param string|null $name
     */
    public function setName(?string $name): void
    {
        $this->name = $name;
    }

    /**
     * @return \stdClass
     */
    public function getContactData()
    {
        return json_decode($this->contactData);
    }

    /**
     * @param mixed $contactData
     */
    public function setContactData($contactData): void
    {
        $this->contactData = json_encode($contactData);
    }
}