<?php
namespace App\OfficeBrain\Bundle\ThemeBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
/**
* Entity For ThemeMaster
*
* Define Themes
*
* @author OfficeBrain 4273 <info@officebrain.com>
*
*/
/**
* ThemeMaster
*
* @ORM\Table(name="tbl_theme_master")
* @ORM\Entity(repositoryClass="App\OfficeBrain\Bundle\ThemeBundle\Entity\ThemeMasterRepository")
* @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false)
*/
class ThemeMaster
{
/**
* @var integer
*
* @ORM\Column(name="id", type="bigint", length=20, precision=0, scale=0, nullable=false, unique=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="theme_name", type="string", length=255, options={"collate"="utf8_unicode_ci"})
*/
protected $themeName;
/**
* @var string
*
* @ORM\Column(name="theme_type", type="string", length=255, options={"collate"="utf8_unicode_ci"})
*/
protected $themeType;
/**
*
* @ORM\OneToMany(targetEntity="\App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster", mappedBy="theme")
* @ORM\JoinColumn(nullable=false)
*/
protected $theme;
/**
* @var datetime
*
* @Gedmo\Timestampable(on="create")
* @ORM\Column(type="datetime", name="created_at")
*/
protected $createdAt;
/**
* @var datetime
*
* @Gedmo\Timestampable(on="update")
* @ORM\Column(type="datetime", name="updated_at", nullable=true)
*/
protected $updatedAt;
/**
* @var datetime
*
* @ORM\Column(type="datetime", name="deleted_at", nullable=true)
*/
protected $deletedAt;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set themeName
*
* @param string $themeName
* @return ThemeMaster
*/
public function setThemeName($themeName)
{
$this->themeName = $themeName;
return $this;
}
/**
* Get themeName
*
* @return string
*/
public function getThemeName()
{
return $this->themeName;
}
/**
* Set themeType
*
* @param string $themeType
* @return ThemeMaster
*/
public function setThemeType($themeType)
{
$this->themeType = $themeType;
return $this;
}
/**
* Get themeType
*
* @return string
*/
public function getThemeType()
{
return $this->themeType;
}
/**
* Set createdAt
*
* @param \DateTime $createdAt
* @return ThemeMaster
*/
public function setCreatedAt($createdAt)
{
$this->createdAt = $createdAt;
return $this;
}
/**
* Get createdAt
*
* @return \DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* Set updatedAt
*
* @param \DateTime $updatedAt
* @return ThemeMaster
*/
public function setUpdatedAt($updatedAt)
{
$this->updatedAt = $updatedAt;
return $this;
}
/**
* Get updatedAt
*
* @return \DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set deletedAt
*
* @param \DateTime $deletedAt
* @return ThemeMaster
*/
public function setDeletedAt($deletedAt)
{
$this->deletedAt = $deletedAt;
return $this;
}
/**
* Get deletedAt
*
* @return \DateTime
*/
public function getDeletedAt()
{
return $this->deletedAt;
}
/**
* Constructor
*/
public function __construct()
{
$this->instanceMaster = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add theme
*
* @param \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster $theme
* @return ThemeMaster
*/
public function addTheme(\App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster $theme)
{
$this->theme[] = $theme;
return $this;
}
/**
* Remove theme
*
* @param \App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster $theme
*/
public function removeTheme(\App\OfficeBrain\Bundle\AccessManagementBundle\Entity\InstanceMaster $theme)
{
$this->theme->removeElement($theme);
}
/**
* Get theme
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getTheme()
{
return $this->theme;
}
}