<?phpnamespace CoreBundle\Entity\Vehicles;use Doctrine\Common\Collections\ArrayCollection;use Doctrine\Common\Collections\Collection;/** * Characteristic */class Characteristic{    /**     * @var integer     */    private $id;    /**     * @var integer     */    private $temp_id;    /**     * @var string     */    private $title_ua;    /**     * @var string     */    private $title_ru;    /**     * @var integer     */    private $vehicle_type;    /**     * @var integer     */    private $characteristic_type;    /**     * @var Collection     */    private $characteristic_value;    /**     * @var CharacteristicGroup     */    private $group;    /**     * @var integer     */    private $is_required;    /**     * @var integer     */    private $in_filter;    /**     * @var string     */    private $model_unique;    /**     * @var integer     */    private $is_main;    /**     * Constructor     */    public function __construct()    {        $this->characteristic_value = new ArrayCollection();    }    /**     * Get id     *     * @return integer     */    public function getId()    {        return $this->id;    }    /**     * Set tempId     *     * @param integer $tempId     *     * @return Characteristic     */    public function setTempId($tempId)    {        $this->temp_id = $tempId;        return $this;    }    /**     * Get tempId     *     * @return integer     */    public function getTempId()    {        return $this->temp_id;    }    /**     * Set titleUa     *     * @param string $titleUa     *     * @return Characteristic     */    public function setTitleUa($titleUa)    {        $this->title_ua = $titleUa;        return $this;    }    /**     * Get titleUa     *     * @return string     */    public function getTitleUa()    {        return $this->title_ua;    }    /**     * Set titleRu     *     * @param string $titleRu     *     * @return Characteristic     */    public function setTitleRu($titleRu)    {        $this->title_ru = $titleRu;        return $this;    }    /**     * Get titleRu     *     * @return string     */    public function getTitleRu()    {        return $this->title_ru;    }    /**     * Set vehicleType     *     * @param integer $vehicleType     *     * @return Characteristic     */    public function setVehicleType($vehicleType)    {        $this->vehicle_type = $vehicleType;        return $this;    }    /**     * Get vehicleType     *     * @return integer     */    public function getVehicleType()    {        return $this->vehicle_type;    }    /**     * Set characteristicType     *     * @param integer $characteristicType     *     * @return Characteristic     */    public function setCharacteristicType($characteristicType)    {        $this->characteristic_type = $characteristicType;        return $this;    }    /**     * Get characteristicType     *     * @return integer     */    public function getCharacteristicType()    {        return $this->characteristic_type;    }    /**     * Add characteristicValue     *     * @param CharacteristicValue $characteristicValue     *     * @return Characteristic     */    public function addCharacteristicValue(CharacteristicValue $characteristicValue)    {        $this->characteristic_value[] = $characteristicValue;        return $this;    }    /**     * Remove characteristicValue     *     * @param CharacteristicValue $characteristicValue     */    public function removeCharacteristicValue(CharacteristicValue $characteristicValue)    {        $this->characteristic_value->removeElement($characteristicValue);    }    /**     * Get characteristicValue     *     * @return Collection     */    public function getCharacteristicValue()    {        return $this->characteristic_value;    }    /**     * Set group     *     * @param CharacteristicGroup $group     *     * @return Characteristic     */    public function setGroup(CharacteristicGroup $group = null)    {        $this->group = $group;        return $this;    }    /**     * Get group     *     * @return CharacteristicGroup     */    public function getGroup()    {        return $this->group;    }    /**     * Set isRequired     *     * @param integer $isRequired     *     * @return Characteristic     */    public function setIsRequired($isRequired)    {        $this->is_required = $isRequired;        return $this;    }    /**     * Get isRequired     *     * @return integer     */    public function getIsRequired()    {        return $this->is_required > 0;    }    public function __toString()    {        return (string) $this->getTitleRu();    }    public function getTitle($locale)    {        if ($locale == 'ru') {            return $this->getTitleRu();        }        return $this->getTitleUa();    }    /**     * Set inFilter     *     * @param integer $inFilter     *     * @return Characteristic     */    public function setInFilter($inFilter)    {        $this->in_filter = $inFilter;        return $this;    }    /**     * Get inFilter     *     * @return integer     */    public function getInFilter()    {        return $this->in_filter;    }    public function getAdminName()    {        $title = $this->getTitleRu();        if ($this->getIsRequired()) {            $title .= ' *';        }        return $title;    }    public function getGroupName()    {        if ($this->getGroup()) {            return $this->getGroup()->getTitleRu();        }        return '';    }    /**     * Set modelUnique     *     * @param string $modelUnique     *     * @return Characteristic     */    public function setModelUnique($modelUnique)    {        $this->model_unique = $modelUnique;        return $this;    }    /**     * Get modelUnique     *     * @return string     */    public function getModelUnique()    {        return $this->model_unique;    }    /**     * Set isMain     *     * @param integer $isMain     *     * @return Characteristic     */    public function setIsMain($isMain)    {        $this->is_main = $isMain;        return $this;    }    /**     * Get isMain     *     * @return integer     */    public function getIsMain()    {        return $this->is_main;    }    /**     * @var Variation     */    private $variation;    /**     * Set variation.     *     * @param Variation|null $variation     *     * @return Characteristic     */    public function setVariation(Variation $variation = null)    {        $this->variation = $variation;        return $this;    }    /**     * Get variation.     *     * @return Variation|null     */    public function getVariation()    {        return $this->variation;    }    /**     * @var Collection     */    private $variation_characteristic;    /**     * Add variationCharacteristic.     *     * @param VariationCharacteristic $variationCharacteristic     *     * @return Characteristic     */    public function addVariationCharacteristic(VariationCharacteristic $variationCharacteristic)    {        $this->variation_characteristic[] = $variationCharacteristic;        return $this;    }    /**     * Remove variationCharacteristic.     *     * @param VariationCharacteristic $variationCharacteristic     *     * @return boolean TRUE if this collection contained the specified element, FALSE otherwise.     */    public function removeVariationCharacteristic(VariationCharacteristic $variationCharacteristic)    {        return $this->variation_characteristic->removeElement($variationCharacteristic);    }    /**     * Get variationCharacteristic.     *     * @return Collection     */    public function getVariationCharacteristic()    {        return $this->variation_characteristic;    }    /**     * @var string     */    private $url;    /**     * Set url     *     * @param string $url     *     * @return Characteristic     */    public function setUrl($url)    {        $this->url = $url;        return $this;    }    /**     * Get url     *     * @return string     */    public function getUrl()    {        return $this->url;    }}