<?php

namespace OfficeBrain\Bundle\ProductTagBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert; // Don't forget this part.
use Gedmo\Mapping\Annotation as Gedmo;

/**
 * @author OfficeBrain 4505 <info@officebrain.com>
 *
 * Description :  Entity For Private Campaign Language
 */

/**
 * PrivateCampaignLanguage.
 *
 * @ORM\Table(name="tbl_product_campaign_language", options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\ProductTagBundle\Entity\PrivateCampaignLanguageRepository")
 */
class PrivateCampaignLanguage
{
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="bigint", length=20, options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * Bidirectional (OWNING SIDE - FK).
     *
     * @ORM\ManyToOne(targetEntity="\OfficeBrain\Bundle\ProductTagBundle\Entity\PrivateCampaignMaster", inversedBy="campaigns")
     * @ORM\JoinColumn(name="campaign_id", nullable=false)
     */
    protected $campaign;

    /**
     * @var int
     *
     * @ORM\Column(name="language_id",type="bigint", length=10, options={"unsigned"=true})
     */
    private $languageId;

    /**
     * @var string    
     * @ORM\Column(name="campaign_name", type="string", length=255, options={"collate"="utf8_unicode_ci"})
     */
    private $campaignName;

     /**
     * @var string
     *
     * @Gedmo\Slug(fields={"campaignName"})
     * @ORM\Column(name="slug", type="string", nullable=true)
     */
    private $slug;

    /**
     * @var string
     * @ORM\Column(name="campaign_description", type="text", options={"collate"="utf8_unicode_ci"}, nullable=true)
     */
    private $campaignDescription;
    
    /**
     * @var string
     * @ORM\Column(name="campaign_url", type="string", length=255, options={"collate"="utf8_unicode_ci"})
     */
    private $campaignUrl;
    
    /**
     * @var string
     * @ORM\Column(name="banner_url", type="string", length=255, options={"collate"="utf8_unicode_ci"})
     */
    private $bannerUrl;

    /**
     * Set languageId.
     *
     * @param int $languageId
     *
     * @return PrivateCampaignLanguage
     */
    public function setLanguageId($languageId)
    {
        $this->languageId = $languageId;

        return $this;
    }

    /**
     * Get languageId.
     *
     * @return int
     */
    public function getLanguageId()
    {
        return $this->languageId;
    }

    /**
     * Set campaignName.
     *
     * @param string $campaignName
     *
     * @return PrivateCampaignLanguage
     */
    public function setCampaignName($campaignName)
    {
        $this->campaignName = $campaignName;

        return $this;
    }

    /**
     * Get campaignName.
     *
     * @return string
     */
    public function getCampaignName()
    {
        return $this->campaignName;
    }

    /**
     * Set campaignDescription.
     *
     * @param string $campaignDescription
     *
     * @return PrivateCampaignLanguage
     */
    public function setCampaignDescription($campaignDescription)
    {
        $this->campaignDescription = $campaignDescription;

        return $this;
    }

    /**
     * Get campaignDescription.
     *
     * @return string
     */
    public function getCampaignDescription()
    {
        return $this->campaignDescription;
    }

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

    /**
     * Set campaign.
     *
     * @param \OfficeBrain\Bundle\ProductTagBundle\Entity\PrivateCampaignMaster $campaign
     *
     * @return PrivateCampaignLanguage
     */
    public function setCampaign(\OfficeBrain\Bundle\ProductTagBundle\Entity\PrivateCampaignMaster $campaign = null)
    {
        $this->campaign = $campaign;

        return $this;
    }

    /**
     * Get campaign.
     *
     * @return \OfficeBrain\Bundle\ProductTagBundle\Entity\PrivateCampaignMaster
     */
    public function getCampaign()
    {
        return $this->campaign;
    }

    /**
     * Set slug
     *
     * @param string $slug
     *
     * @return PrivateCampaignLanguage
     */
    public function setSlug($slug)
    {
        $this->slug = $slug;

        return $this;
    }

    /**
     * Get slug
     *
     * @return string
     */
    public function getSlug()
    {
        return $this->slug;
    }
    
    /**
     * Set campaignUrl.
     *
     * @param string $campaignUrl
     *
     * @return PrivateCampaignLanguage
     */
    public function setCampaignUrl($campaignUrl)
    {
    	$this->campaignUrl= $campaignUrl;
    	
    	return $this;
    }
    
    /**
     * Get campaignUrl.
     *
     * @return string
     */
    public function getCampaignUrl()
    {
    	return $this->campaignUrl;
    }
    
    /**
     * Set bannerUrl.
     *
     * @param string $bannerUrl
     *
     * @return PrivateCampaignLanguage
     */
    public function setBannerUrl($bannerUrl)
    {
    	$this->bannerUrl= $bannerUrl;
    	
    	return $this;
    }
    
    /**
     * Get bannerUrl.
     *
     * @return string
     */
    public function getBannerUrl()
    {
    	return $this->bannerUrl;
    }
}
