<?php

namespace OfficeBrain\Bundle\OrderBundle\Entity;

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

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

    /**
     * @ORM\ManyToOne(targetEntity="OrderItemLine", inversedBy="orderProductImprintArea")
     * @ORM\JoinColumn(name="order_item_line_id", referencedColumnName="id")
     */
    private $orderItemLineId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_id",type="bigint", length=20 , options={"unsigned"=true})
     */
    private $imprintAreaId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_method_id", type="bigint", length=20 , options={"unsigned"=true})
     */
    private $imprintAreaMethodId;

    /**
     * @var integer
     *
     * @ORM\Column(name="imprint_area_noof_color", type="bigint", length=20 , options={"unsigned"=true}, nullable=true)
     */
    private $imprintAreaNoofColor;
    
    /**
     * @ORM\OneToMany(targetEntity="OrderProductImprintColor", mappedBy="imprintAreaId")
     */
    private $orderProductImprintColor;
    
    /**
     * @ORM\OneToMany(targetEntity="OrderProductImprintTextArtWork", mappedBy="imprintAreaId")
     */
    private $orderProductImprintTextArtWork;
    
    public function __construct() {
    	$this->orderProductImprintColor = new ArrayCollection();
    	$this->orderProductImprintTextArtWork = new ArrayCollection();
    }

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

    /**
     * Set imprintAreaId
     *
     * @param integer $imprintAreaId
     * @return OrderProductImprintArea
     */
    public function setImprintAreaId($imprintAreaId)
    {
        $this->imprintAreaId = $imprintAreaId;

        return $this;
    }

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

    /**
     * Set imprintAreaMethodId
     *
     * @param integer $imprintAreaMethodId
     * @return OrderProductImprintArea
     */
    public function setImprintAreaMethodId($imprintAreaMethodId)
    {
        $this->imprintAreaMethodId = $imprintAreaMethodId;

        return $this;
    }

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

    /**
     * Set imprintAreaNoofColor
     *
     * @param integer $imprintAreaNoofColor
     * @return OrderProductImprintArea
     */
    public function setImprintAreaNoofColor($imprintAreaNoofColor)
    {
        $this->imprintAreaNoofColor = $imprintAreaNoofColor;

        return $this;
    }

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

    /**
     * Set orderItemLineId
     *
     * @param \OfficeBrain\Bundle\OrderBundle\Entity\OrderItemLine $orderItemLineId
     * @return OrderProductImprintArea
     */
    public function setOrderItemLineId(\OfficeBrain\Bundle\OrderBundle\Entity\OrderItemLine $orderItemLineId = null)
    {
        $this->orderItemLineId = $orderItemLineId;

        return $this;
    }

    /**
     * Get orderItemLineId
     *
     * @return \OfficeBrain\Bundle\OrderBundle\Entity\OrderItemLine 
     */
    public function getOrderItemLineId()
    {
        return $this->orderItemLineId;
    }

    /**
     * Add orderProductImprintColor
     *
     * @param \OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintColor $orderProductImprintColor
     * @return OrderProductImprintArea
     */
    public function addOrderProductImprintColor(\OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintColor $orderProductImprintColor)
    {
        $this->orderProductImprintColor[] = $orderProductImprintColor;

        return $this;
    }

    /**
     * Remove orderProductImprintColor
     *
     * @param \OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintColor $orderProductImprintColor
     */
    public function removeOrderProductImprintColor(\OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintColor $orderProductImprintColor)
    {
        $this->orderProductImprintColor->removeElement($orderProductImprintColor);
    }

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

    /**
     * Add orderProductImprintTextArtWork
     *
     * @param \OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintTextArtWork $orderProductImprintTextArtWork
     * @return OrderProductImprintArea
     */
    public function addOrderProductImprintTextArtWork(\OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintTextArtWork $orderProductImprintTextArtWork)
    {
        $this->orderProductImprintTextArtWork[] = $orderProductImprintTextArtWork;

        return $this;
    }

    /**
     * Remove orderProductImprintTextArtWork
     *
     * @param \OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintTextArtWork $orderProductImprintTextArtWork
     */
    public function removeOrderProductImprintTextArtWork(\OfficeBrain\Bundle\OrderBundle\Entity\OrderProductImprintTextArtWork $orderProductImprintTextArtWork)
    {
        $this->orderProductImprintTextArtWork->removeElement($orderProductImprintTextArtWork);
    }

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