<?php

namespace OfficeBrain\Bundle\SupplierComplianceBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * SupplierCompliance
 *
 * @ORM\Table(name="tbl_supplier_compliance",options={"type"="InnoDB","charset"="utf8","collate"="utf8_unicode_ci"})
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\SupplierComplianceBundle\Entity\SupplierComplianceRepository")
 */
class SupplierCompliance
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id",type="bigint", length=20 , options={"unsigned"=true})
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;
    

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, nullable=true)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="portal_id", type="string", length=255, nullable=true)
     */
    private $portalId;
    
    /**
     * @var integer
     *
     * @ORM\Column(name="order_no", type="bigint", length=20, nullable=true, options={"unsigned"=true})
     */
    private $orderNo;
    
    /**
     * @var text
     *
     * @ORM\Column(name="license_agrement_introduction", type="text", nullable=true)
     */
    private $licenseAgrementIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="license_agrement_file", type="string", length=255, nullable=true)
     */
    private $licenseAgrementFile;

    /**
     * @var text
     *
     * @ORM\Column(name="gcc_introduction", type="text", nullable=true)
     */
    private $gccIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="gcc_file", type="string", length=255, nullable=true)
     */
    private $gccFile;

    /**
     * @var text
     *
     * @ORM\Column(name="coc_introduction", type="text", nullable=true)
     */
    private $cocIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="coc_file", type="string", length=255, nullable=true)
     */
    private $cocFile;

    /**
     * @var text
     *
     * @ORM\Column(name="qca_introduction", type="text", nullable=true)
     */
    private $qcaIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="qca_file", type="string", length=255, nullable=true)
     */
    private $qcaFile;

    /**
     * @var text
     *
     * @ORM\Column(name="fla_introduction", type="text", nullable=true)
     */
    private $flaIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="fla_file", type="string", length=255, nullable=true)
     */
    private $flaFile;

    /**
     * @var text
     *
     * @ORM\Column(name="back_story_introduction", type="text", nullable=true)
     */
    private $backStoryIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="back_story_link", type="string", length=255, nullable=true)
     */
    private $backStoryLink;

    /**
     * @var string
     *
     * @ORM\Column(name="back_story_file", type="string", length=255, nullable=true)
     */
    private $backStoryFile;

    /**
     * @var text
     *
     * @ORM\Column(name="clc_introduction", type="text", nullable=true)
     */
    private $clcIntroduction;

    /**
     * @var string
     *
     * @ORM\Column(name="clc_file", type="string", length=255, nullable=true)
     */
    private $clcFile;

    /**
     * @var string
     *
     * @ORM\Column(name="assembled_name", type="string", length=255, nullable=true)
     */
    private $assembledName;

    /**
     * @var string
     *
     * @ORM\Column(name="assembled_in", type="string", length=255, nullable=true)
     */
    private $assembledIn;

    /**
     * @var string
     *
     * @ORM\Column(name="made_name", type="string", length=255, nullable=true)
     */
    private $madeName;

    /**
     * @var string
     *
     * @ORM\Column(name="made_in", type="string", length=255, nullable=true)
     */
    private $madeIn;

    /**
     * @var string
     *
     * @ORM\Column(name="decorated_name", type="string", length=255, nullable=true)
     */
    private $decoratedName;

    /**
     * @var string
     *
     * @ORM\Column(name="decorated_in", type="string", length=255, nullable=true)
     */
    private $decoratedIn;

    /**
     * @var string
     *
     * @ORM\Column(name="product_compliance_text", type="string", length=255, nullable=true)
     */
    private $productComplianceText;

    /**
     * @var string
     *
     * @ORM\Column(name="product_compliance", type="string", length=255, nullable=true)
     */
    private $productCompliance;

    
    /**
     * @var text
     *
     * @ORM\Column(name="culture", type="text", length=60, nullable=true)
     */
    private $culture = 'en_us';
        
    
    /**
     * @var integer
     *
     * @ORM\Column(name="instance_id", type="bigint", length=20, options={"unsigned"=true})
     */
    private $instanceId;
    
    /**
     * @var string
     *
     * @ORM\Column(name="instance_type", type="string", length=255)
     */
    private $instanceType;
    
    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="create")
     * @ORM\Column(name="created_at", type="datetime", nullable=true)
     */
    private $createdAt;
    
    /**
     * @var \DateTime
     * @Gedmo\Timestampable(on="update")
     * @ORM\Column(name="updated_at", type="datetime", nullable=true)
     */
    private $updatedAt;
    
    /**
     * @var \DateTime
     * @ORM\Column(name="deleted_at", type="datetime", nullable=true)
     */
    private $deletedAt;
    
    /**
     * @ORM\OneToMany(targetEntity="ProductSupplierCompliance", mappedBy="complianceId")
     */
    private $product_supplier_compliance;
    
    public function __construct() {
    	$this->product_supplier_compliance = new ArrayCollection();
    }


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

    /**
     * Set name
     *
     * @param string $name
     *
     * @return SupplierCompliance
     */
    public function setName($name)
    {
        $this->name = $name;

        return $this;
    }

    /**
     * Get name
     *
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set portalId
     *
     * @param string $portalId
     *
     * @return SupplierCompliance
     */
    public function setPortalId($portalId)
    {
        $this->portalId = $portalId;

        return $this;
    }

    /**
     * Get portalId
     *
     * @return string
     */
    public function getPortalId()
    {
        return $this->portalId;
    }

    /**
     * Set orderNo
     *
     * @param integer $orderNo
     *
     * @return SupplierCompliance
     */
    public function setOrderNo($orderNo)
    {
        $this->orderNo = $orderNo;

        return $this;
    }

    /**
     * Get orderNo
     *
     * @return integer
     */
    public function getOrderNo()
    {
        return $this->orderNo;
    }

    /**
     * Set licenseAgrementIntroduction
     *
     * @param string $licenseAgrementIntroduction
     *
     * @return SupplierCompliance
     */
    public function setLicenseAgrementIntroduction($licenseAgrementIntroduction)
    {
        $this->licenseAgrementIntroduction = $licenseAgrementIntroduction;

        return $this;
    }

    /**
     * Get licenseAgrementIntroduction
     *
     * @return string
     */
    public function getLicenseAgrementIntroduction()
    {
        return $this->licenseAgrementIntroduction;
    }

    /**
     * Set licenseAgrementFile
     *
     * @param string $licenseAgrementFile
     *
     * @return SupplierCompliance
     */
    public function setLicenseAgrementFile($licenseAgrementFile)
    {
        $this->licenseAgrementFile = $licenseAgrementFile;

        return $this;
    }

    /**
     * Get licenseAgrementFile
     *
     * @return string
     */
    public function getLicenseAgrementFile()
    {
        return $this->licenseAgrementFile;
    }

    /**
     * Set gccIntroduction
     *
     * @param string $gccIntroduction
     *
     * @return SupplierCompliance
     */
    public function setGccIntroduction($gccIntroduction)
    {
        $this->gccIntroduction = $gccIntroduction;

        return $this;
    }

    /**
     * Get gccIntroduction
     *
     * @return string
     */
    public function getGccIntroduction()
    {
        return $this->gccIntroduction;
    }

    /**
     * Set gccFile
     *
     * @param string $gccFile
     *
     * @return SupplierCompliance
     */
    public function setGccFile($gccFile)
    {
        $this->gccFile = $gccFile;

        return $this;
    }

    /**
     * Get gccFile
     *
     * @return string
     */
    public function getGccFile()
    {
        return $this->gccFile;
    }

    /**
     * Set cocIntroduction
     *
     * @param string $cocIntroduction
     *
     * @return SupplierCompliance
     */
    public function setCocIntroduction($cocIntroduction)
    {
        $this->cocIntroduction = $cocIntroduction;

        return $this;
    }

    /**
     * Get cocIntroduction
     *
     * @return string
     */
    public function getCocIntroduction()
    {
        return $this->cocIntroduction;
    }

    /**
     * Set cocFile
     *
     * @param string $cocFile
     *
     * @return SupplierCompliance
     */
    public function setCocFile($cocFile)
    {
        $this->cocFile = $cocFile;

        return $this;
    }

    /**
     * Get cocFile
     *
     * @return string
     */
    public function getCocFile()
    {
        return $this->cocFile;
    }

    /**
     * Set qcaIntroduction
     *
     * @param string $qcaIntroduction
     *
     * @return SupplierCompliance
     */
    public function setQcaIntroduction($qcaIntroduction)
    {
        $this->qcaIntroduction = $qcaIntroduction;

        return $this;
    }

    /**
     * Get qcaIntroduction
     *
     * @return string
     */
    public function getQcaIntroduction()
    {
        return $this->qcaIntroduction;
    }

    /**
     * Set qcaFile
     *
     * @param string $qcaFile
     *
     * @return SupplierCompliance
     */
    public function setQcaFile($qcaFile)
    {
        $this->qcaFile = $qcaFile;

        return $this;
    }

    /**
     * Get qcaFile
     *
     * @return string
     */
    public function getQcaFile()
    {
        return $this->qcaFile;
    }

    /**
     * Set flaIntroduction
     *
     * @param string $flaIntroduction
     *
     * @return SupplierCompliance
     */
    public function setFlaIntroduction($flaIntroduction)
    {
        $this->flaIntroduction = $flaIntroduction;

        return $this;
    }

    /**
     * Get flaIntroduction
     *
     * @return string
     */
    public function getFlaIntroduction()
    {
        return $this->flaIntroduction;
    }

    /**
     * Set flaFile
     *
     * @param string $flaFile
     *
     * @return SupplierCompliance
     */
    public function setFlaFile($flaFile)
    {
        $this->flaFile = $flaFile;

        return $this;
    }

    /**
     * Get flaFile
     *
     * @return string
     */
    public function getFlaFile()
    {
        return $this->flaFile;
    }

    /**
     * Set backStoryIntroduction
     *
     * @param string $backStoryIntroduction
     *
     * @return SupplierCompliance
     */
    public function setBackStoryIntroduction($backStoryIntroduction)
    {
        $this->backStoryIntroduction = $backStoryIntroduction;

        return $this;
    }

    /**
     * Get backStoryIntroduction
     *
     * @return string
     */
    public function getBackStoryIntroduction()
    {
        return $this->backStoryIntroduction;
    }

    /**
     * Set backStoryLink
     *
     * @param string $backStoryLink
     *
     * @return SupplierCompliance
     */
    public function setBackStoryLink($backStoryLink)
    {
        $this->backStoryLink = $backStoryLink;

        return $this;
    }

    /**
     * Get backStoryLink
     *
     * @return string
     */
    public function getBackStoryLink()
    {
        return $this->backStoryLink;
    }

    /**
     * Set backStoryFile
     *
     * @param string $backStoryFile
     *
     * @return SupplierCompliance
     */
    public function setBackStoryFile($backStoryFile)
    {
        $this->backStoryFile = $backStoryFile;

        return $this;
    }

    /**
     * Get backStoryFile
     *
     * @return string
     */
    public function getBackStoryFile()
    {
        return $this->backStoryFile;
    }

    /**
     * Set clcIntroduction
     *
     * @param string $clcIntroduction
     *
     * @return SupplierCompliance
     */
    public function setClcIntroduction($clcIntroduction)
    {
        $this->clcIntroduction = $clcIntroduction;

        return $this;
    }

    /**
     * Get clcIntroduction
     *
     * @return string
     */
    public function getClcIntroduction()
    {
        return $this->clcIntroduction;
    }

    /**
     * Set clcFile
     *
     * @param string $clcFile
     *
     * @return SupplierCompliance
     */
    public function setClcFile($clcFile)
    {
        $this->clcFile = $clcFile;

        return $this;
    }

    /**
     * Get clcFile
     *
     * @return string
     */
    public function getClcFile()
    {
        return $this->clcFile;
    }

    /**
     * Set assembledIn
     *
     * @param string $assembledIn
     *
     * @return SupplierCompliance
     */
    public function setAssembledIn($assembledIn)
    {
        $this->assembledIn = $assembledIn;

        return $this;
    }

    /**
     * Get assembledIn
     *
     * @return string
     */
    public function getAssembledIn()
    {
        return $this->assembledIn;
    }

    /**
     * Set madeIn
     *
     * @param string $madeIn
     *
     * @return SupplierCompliance
     */
    public function setMadeIn($madeIn)
    {
        $this->madeIn = $madeIn;

        return $this;
    }

    /**
     * Get madeIn
     *
     * @return string
     */
    public function getMadeIn()
    {
        return $this->madeIn;
    }

    /**
     * Set decoratedIn
     *
     * @param string $decoratedIn
     *
     * @return SupplierCompliance
     */
    public function setDecoratedIn($decoratedIn)
    {
        $this->decoratedIn = $decoratedIn;

        return $this;
    }

    /**
     * Get decoratedIn
     *
     * @return string
     */
    public function getDecoratedIn()
    {
        return $this->decoratedIn;
    }

    /**
     * Set productCompliance
     *
     * @param string $productCompliance
     *
     * @return SupplierCompliance
     */
    public function setProductCompliance($productCompliance)
    {
        $this->productCompliance = $productCompliance;

        return $this;
    }

    /**
     * Get productCompliance
     *
     * @return string
     */
    public function getProductCompliance()
    {
        return $this->productCompliance;
    }

    /**
     * Set culture
     *
     * @param string $culture
     *
     * @return SupplierCompliance
     */
    public function setCulture($culture)
    {
        $this->culture = $culture;

        return $this;
    }

    /**
     * Get culture
     *
     * @return string
     */
    public function getCulture()
    {
        return $this->culture;
    }

    /**
     * Set instanceId
     *
     * @param integer $instanceId
     *
     * @return SupplierCompliance
     */
    public function setInstanceId($instanceId)
    {
        $this->instanceId = $instanceId;

        return $this;
    }

    /**
     * Get instanceId
     *
     * @return integer
     */
    public function getInstanceId()
    {
        return $this->instanceId;
    }

    /**
     * Set instanceType
     *
     * @param string $instanceType
     *
     * @return SupplierCompliance
     */
    public function setInstanceType($instanceType)
    {
        $this->instanceType = $instanceType;

        return $this;
    }

    /**
     * Get instanceType
     *
     * @return string
     */
    public function getInstanceType()
    {
        return $this->instanceType;
    }

    /**
     * Set createdAt
     *
     * @param \DateTime $createdAt
     *
     * @return SupplierCompliance
     */
    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 SupplierCompliance
     */
    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 SupplierCompliance
     */
    public function setDeletedAt($deletedAt)
    {
        $this->deletedAt = $deletedAt;

        return $this;
    }

    /**
     * Get deletedAt
     *
     * @return \DateTime
     */
    public function getDeletedAt()
    {
        return $this->deletedAt;
    }

    /**
     * Add productSupplierCompliance
     *
     * @param \OfficeBrain\Bundle\SupplierComplianceBundle\Entity\ProductSupplierCompliance $productSupplierCompliance
     *
     * @return SupplierCompliance
     */
    public function addProductSupplierCompliance(\OfficeBrain\Bundle\SupplierComplianceBundle\Entity\ProductSupplierCompliance $productSupplierCompliance)
    {
        $this->product_supplier_compliance[] = $productSupplierCompliance;

        return $this;
    }

    /**
     * Remove productSupplierCompliance
     *
     * @param \OfficeBrain\Bundle\SupplierComplianceBundle\Entity\ProductSupplierCompliance $productSupplierCompliance
     */
    public function removeProductSupplierCompliance(\OfficeBrain\Bundle\SupplierComplianceBundle\Entity\ProductSupplierCompliance $productSupplierCompliance)
    {
        $this->product_supplier_compliance->removeElement($productSupplierCompliance);
    }

    /**
     * Get productSupplierCompliance
     *
     * @return \Doctrine\Common\Collections\Collection
     */
    public function getProductSupplierCompliance()
    {
        return $this->product_supplier_compliance;
    }

    /**
     * Set assembledName
     *
     * @param string $assembledName
     *
     * @return SupplierCompliance
     */
    public function setAssembledName($assembledName)
    {
        $this->assembledName = $assembledName;

        return $this;
    }

    /**
     * Get assembledName
     *
     * @return string
     */
    public function getAssembledName()
    {
        return $this->assembledName;
    }

    /**
     * Set madeName
     *
     * @param string $madeName
     *
     * @return SupplierCompliance
     */
    public function setMadeName($madeName)
    {
        $this->madeName = $madeName;

        return $this;
    }

    /**
     * Get madeName
     *
     * @return string
     */
    public function getMadeName()
    {
        return $this->madeName;
    }

    /**
     * Set decoratedName
     *
     * @param string $decoratedName
     *
     * @return SupplierCompliance
     */
    public function setDecoratedName($decoratedName)
    {
        $this->decoratedName = $decoratedName;

        return $this;
    }

    /**
     * Get decoratedName
     *
     * @return string
     */
    public function getDecoratedName()
    {
        return $this->decoratedName;
    }

    /**
     * Set productComplianceText
     *
     * @param string $productComplianceText
     *
     * @return SupplierCompliance
     */
    public function setProductComplianceText($productComplianceText)
    {
        $this->productComplianceText = $productComplianceText;

        return $this;
    }

    /**
     * Get productComplianceText
     *
     * @return string
     */
    public function getProductComplianceText()
    {
        return $this->productComplianceText;
    }
}
