<?php

namespace OfficeBrain\Bundle\FeedBackBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * SiteFeedBack
 *
 * @ORM\Table(name="tbl_site_feedback_master")
 * @ORM\Entity(repositoryClass="OfficeBrain\Bundle\FeedBackBundle\Entity\SiteFeedBackRepository")
 */
class SiteFeedBack
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="category", type="string", length=255, options={"collate"="utf8_unicode_ci"}, nullable=true)
     */
    private $category;
    
    /**
     * @var string
     *
     * @ORM\Column(name="email", type="string", length=255, options={"collate"="utf8_unicode_ci"}, nullable=true)
     * @Assert\NotBlank(message = "feedback.site_feedback.email.not_blank")
     * @Assert\Regex(
     *   pattern="/^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/",
     *   match=true,
     *   message="feedback.site_feedback.email.invalid"
     * )
     */
    private $email;
    
    /**
     * @var string
     *
     * @ORM\Column(name="summary", type="string", length=255, options={"collate"="utf8_unicode_ci"}, nullable=true)
     */
    private $summary;

    /**
     * @var string
     *
     * @ORM\Column(name="comment", type="string", length=255, options={"collate"="utf8_unicode_ci"}, nullable=true)
     * @Assert\NotBlank(message = "feedback.site_feedback.comment.not_blank")
     */
    private $comment;
    

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

    /**
     * Set email
     *
     * @param string $email
     *
     * @return SiteFeedBack
     */
    public function setEmail($email)
    {
        $this->email = $email;

        return $this;
    }

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

    /**
     * Set category
     *
     * @param string $category
     *
     * @return SiteFeedBack
     */
    public function setCategory($category)
    {
        $this->category = $category;

        return $this;
    }

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

    /**
     * Set message
     *
     * @param string $message
     *
     * @return SiteFeedBack
     */
    public function setMessage($message)
    {
        $this->message = $message;

        return $this;
    }

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

    /**
     * Set comment
     *
     * @param string $comment
     *
     * @return SiteFeedBack
     */
    public function setComment($comment)
    {
        $this->comment = $comment;

        return $this;
    }

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

    /**
     * Set summary
     *
     * @param string $summary
     *
     * @return SiteFeedBack
     */
    public function setSummary($summary)
    {
        $this->summary = $summary;

        return $this;
    }

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