<?php 
/** 
 * Server class represents simple model of Server/Brand entity 
 * 
 * $Project: Alliancemarkets2 $ 
 * $Id$ 
 * 
 * @package alliancemarkets2 
 * @author George Matyas <webexciter@yahoo.com> 
 * @version $Revision$ 
 */ 
 
// src/App/Entity/Server.php 
namespace App\Entity; 
 
use Doctrine\Common\Collections\ArrayCollection; 
use Doctrine\Common\Collections\Collection; 
use Doctrine\DBAL\Types\Types; 
use Doctrine\ORM\Mapping as ORM; 
 
/** 
 * @ORM\Entity(repositoryClass="App\EntityRepo\ServerRepo") 
 * @ORM\Table(name="server") 
 */ 
class Server 
{ 
 
    /** 
     * @ORM\Column(type="integer") 
     * @ORM\Id 
     * @ORM\GeneratedValue(strategy="AUTO") 
     */  
    protected $serverId=0; 
 
    /** 
     * @ORM\Column(type="string", length=100) 
     */ 
    protected $httpHost; 
 
    /** 
     * @ORM\Column(type="string", length=100, nullable=false) 
     */     
    protected $label; 
 
    /** 
     * @ORM\Column(type="integer") 
     */  
    protected $preferredAreaId=0; 
 
    /** 
     * @ORM\Column(type="integer") 
     */  
    protected $preferredLanguageId=0; 
 
    /** 
     * @ORM\Column(type="integer") 
     */  
    protected $preferredCurrencyId=0; 
 
    /** 
     * @ORM\Column(type="string", length=100, nullable=true) 
     */     
    protected $ftpHost;  
 
    /** 
     * @ORM\Column(type="string", length=100, nullable=true) 
     */     
    protected $ftpUser;  
 
    /** 
     * @ORM\Column(type="string", length=100, nullable=true) 
     */     
    protected $ftpPassword;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $filePath;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $GoogleApiKey;      
 
    /** 
     * @ORM\Column(type="integer", nullable=true) 
     */  
    protected $parentSectionId=0;   
 
    /** 
     * @ORM\Column(type="integer", nullable=true) 
     */  
    protected $isDedicatedHeaderFooter=0;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $headerUrl;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $footerUrl;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $cssUrl;  
 
    /** 
     * @ORM\Column(type="text", nullable=true) 
     */  
    protected $metaTags;   
 
    /** 
     * @ORM\Column(type="integer", nullable=true) 
     */  
    protected $homePageId;  
 
    /** 
     * @ORM\Column(type="integer", nullable=true) 
     */  
    protected $landingPageId;  
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $headerTitle;  
 
    /** 
     * @ORM\Column(type="integer", nullable=true) 
     */  
    protected $isShoppingAgent;  
 
    /** 
     * @ORM\Column(type="integer") 
     */  
    protected $isServiceList;  
 
    /** 
     * @ORM\Column(type="date", nullable=true) 
     */     
    protected $dateStart;  
 
    /** 
     * @ORM\Column(type="integer") 
     */  
    protected $statusId=3; 
 
    /** 
     * @ORM\Column(type="string", length=255, nullable=true) 
     */     
    protected $address;  
 
    /** 
     * @ORM\Column(type="string", length=255) 
     */     
    protected $email;  
 
    /** 
     * @ORM\Column(type="string", length=255) 
     */     
    protected $logoUrl;     
 
    /** 
     * Many Servers have Many Services. 
     * @ORM\ManyToMany(targetEntity="Service") 
     * @ORM\JoinTable(name="server_service", 
     *      joinColumns={@ORM\JoinColumn(name="server_id", referencedColumnName="server_id")}, 
     *      inverseJoinColumns={@ORM\JoinColumn(name="service_id", referencedColumnName="service_id", unique=false)} 
     *      ) 
     */ 
    protected $services;  
 
    /** 
     * Constructor 
     */ 
    public function __construct() 
    { 
        $this->serviceCollection = new \Doctrine\Common\Collections\ArrayCollection(); 
        $this->services = new ArrayCollection(); 
    } 
 
    /** 
     * Get serverId 
     * 
     * @return integer 
     */ 
    public function getServerId() 
    { 
        return $this->serverId; 
    } 
 
    /** 
     * Set httpHost 
     * 
     * @param string $httpHost 
     * 
     * @return Server 
     */ 
    public function setHttpHost($httpHost) 
    { 
        $this->httpHost = $httpHost; 
 
        return $this; 
    } 
 
    /** 
     * Get httpHost 
     * 
     * @return string 
     */ 
    public function getHttpHost() 
    { 
        return $this->httpHost; 
    } 
 
    /** 
     * Set label 
     * 
     * @param string $label 
     * 
     * @return Server 
     */ 
    public function setLabel($label) 
    { 
        $this->label = $label; 
 
        return $this; 
    } 
 
    /** 
     * Get label 
     * 
     * @return string 
     */ 
    public function getLabel() 
    { 
        return $this->label; 
    } 
 
    /** 
     * Set preferredAreaId 
     * 
     * @param integer $preferredAreaId 
     * 
     * @return Server 
     */ 
    public function setPreferredAreaId($preferredAreaId) 
    { 
        $this->preferredAreaId = $preferredAreaId; 
 
        return $this; 
    } 
 
    /** 
     * Get preferredAreaId 
     * 
     * @return integer 
     */ 
    public function getPreferredAreaId() 
    { 
        return $this->preferredAreaId; 
    } 
 
    /** 
     * Set preferredLanguageId 
     * 
     * @param integer $preferredLanguageId 
     * 
     * @return Server 
     */ 
    public function setPreferredLanguageId($preferredLanguageId) 
    { 
        $this->preferredLanguageId = $preferredLanguageId; 
 
        return $this; 
    } 
 
    /** 
     * Get preferredLanguageId 
     * 
     * @return integer 
     */ 
    public function getPreferredLanguageId() 
    { 
        return $this->preferredLanguageId; 
    } 
 
    /** 
     * Set preferredCurrencyId 
     * 
     * @param integer $preferredCurrencyId 
     * 
     * @return Server 
     */ 
    public function setPreferredCurrencyId($preferredCurrencyId) 
    { 
        $this->preferredCurrencyId = $preferredCurrencyId; 
 
        return $this; 
    } 
 
    /** 
     * Get preferredCurrencyId 
     * 
     * @return integer 
     */ 
    public function getPreferredCurrencyId() 
    { 
        return $this->preferredCurrencyId; 
    } 
 
    /** 
     * Set ftpHost 
     * 
     * @param string $ftpHost 
     * 
     * @return Server 
     */ 
    public function setFtpHost($ftpHost) 
    { 
        $this->ftpHost = $ftpHost; 
 
        return $this; 
    } 
 
    /** 
     * Get ftpHost 
     * 
     * @return string 
     */ 
    public function getFtpHost() 
    { 
        return $this->ftpHost; 
    } 
 
    /** 
     * Set ftpUser 
     * 
     * @param string $ftpUser 
     * 
     * @return Server 
     */ 
    public function setFtpUser($ftpUser) 
    { 
        $this->ftpUser = $ftpUser; 
 
        return $this; 
    } 
 
    /** 
     * Get ftpUser 
     * 
     * @return string 
     */ 
    public function getFtpUser() 
    { 
        return $this->ftpUser; 
    } 
 
    /** 
     * Set ftpPassword 
     * 
     * @param string $ftpPassword 
     * 
     * @return Server 
     */ 
    public function setFtpPassword($ftpPassword) 
    { 
        $this->ftpPassword = $ftpPassword; 
 
        return $this; 
    } 
 
    /** 
     * Get ftpPassword 
     * 
     * @return string 
     */ 
    public function getFtpPassword() 
    { 
        return $this->ftpPassword; 
    } 
 
    /** 
     * Set filePath 
     * 
     * @param string $filePath 
     * 
     * @return Server 
     */ 
    public function setFilePath($filePath) 
    { 
        $this->filePath = $filePath; 
 
        return $this; 
    } 
 
    /** 
     * Get filePath 
     * 
     * @return string 
     */ 
    public function getFilePath() 
    { 
        return $this->filePath; 
    } 
 
    /** 
     * Set googleApiKey 
     * 
     * @param string $googleApiKey 
     * 
     * @return Server 
     */ 
    public function setGoogleApiKey($googleApiKey) 
    { 
        $this->GoogleApiKey = $googleApiKey; 
 
        return $this; 
    } 
 
    /** 
     * Get googleApiKey 
     * 
     * @return string 
     */ 
    public function getGoogleApiKey() 
    { 
        return $this->GoogleApiKey; 
    } 
 
    /** 
     * Set parentSectionId 
     * 
     * @param integer $parentSectionId 
     * 
     * @return Server 
     */ 
    public function setParentSectionId($parentSectionId) 
    { 
        $this->parentSectionId = $parentSectionId; 
 
        return $this; 
    } 
 
    /** 
     * Get parentSectionId 
     * 
     * @return integer 
     */ 
    public function getParentSectionId() 
    { 
        return $this->parentSectionId; 
    } 
 
    /** 
     * Set isDedicatedHeaderFooter 
     * 
     * @param integer $isDedicatedHeaderFooter 
     * 
     * @return Server 
     */ 
    public function setIsDedicatedHeaderFooter($isDedicatedHeaderFooter) 
    { 
        $this->isDedicatedHeaderFooter = $isDedicatedHeaderFooter; 
 
        return $this; 
    } 
 
    /** 
     * Get isDedicatedHeaderFooter 
     * 
     * @return integer 
     */ 
    public function getIsDedicatedHeaderFooter() 
    { 
        return $this->isDedicatedHeaderFooter; 
    } 
 
    /** 
     * Set headerUrl 
     * 
     * @param string $headerUrl 
     * 
     * @return Server 
     */ 
    public function setHeaderUrl($headerUrl) 
    { 
        $this->headerUrl = $headerUrl; 
 
        return $this; 
    } 
 
    /** 
     * Get headerUrl 
     * 
     * @return string 
     */ 
    public function getHeaderUrl() 
    { 
        return $this->headerUrl; 
    } 
 
    /** 
     * Set footerUrl 
     * 
     * @param string $footerUrl 
     * 
     * @return Server 
     */ 
    public function setFooterUrl($footerUrl) 
    { 
        $this->footerUrl = $footerUrl; 
 
        return $this; 
    } 
 
    /** 
     * Get footerUrl 
     * 
     * @return string 
     */ 
    public function getFooterUrl() 
    { 
        return $this->footerUrl; 
    } 
 
    /** 
     * Set cssUrl 
     * 
     * @param string $cssUrl 
     * 
     * @return Server 
     */ 
    public function setCssUrl($cssUrl) 
    { 
        $this->cssUrl = $cssUrl; 
 
        return $this; 
    } 
 
    /** 
     * Get cssUrl 
     * 
     * @return string 
     */ 
    public function getCssUrl() 
    { 
        return $this->cssUrl; 
    } 
 
    /** 
     * Set metaTags 
     * 
     * @param string $metaTags 
     * 
     * @return Server 
     */ 
    public function setMetaTags($metaTags) 
    { 
        $this->metaTags = $metaTags; 
 
        return $this; 
    } 
 
    /** 
     * Get metaTags 
     * 
     * @return string 
     */ 
    public function getMetaTags() 
    { 
        return $this->metaTags; 
    } 
 
    /** 
     * Set homePageId 
     * 
     * @param integer $homePageId 
     * 
     * @return Server 
     */ 
    public function setHomePageId($homePageId) 
    { 
        $this->homePageId = $homePageId; 
 
        return $this; 
    } 
 
    /** 
     * Get homePageId 
     * 
     * @return integer 
     */ 
    public function getHomePageId() 
    { 
        return $this->homePageId; 
    } 
 
    /** 
     * Set landingPageId 
     * 
     * @param integer $landingPageId 
     * 
     * @return Server 
     */ 
    public function setLandingPageId($landingPageId) 
    { 
        $this->landingPageId = $landingPageId; 
 
        return $this; 
    } 
 
    /** 
     * Get landingPageId 
     * 
     * @return integer 
     */ 
    public function getLandingPageId() 
    { 
        return $this->landingPageId; 
    } 
 
    /** 
     * Set headerTitle 
     * 
     * @param string $headerTitle 
     * 
     * @return Server 
     */ 
    public function setHeaderTitle($headerTitle) 
    { 
        $this->headerTitle = $headerTitle; 
 
        return $this; 
    } 
 
    /** 
     * Get headerTitle 
     * 
     * @return string 
     */ 
    public function getHeaderTitle() 
    { 
        return $this->headerTitle; 
    } 
 
    /** 
     * Set isShoppingAgent 
     * 
     * @param integer $isShoppingAgent 
     * 
     * @return Server 
     */ 
    public function setIsShoppingAgent($isShoppingAgent) 
    { 
        $this->isShoppingAgent = $isShoppingAgent; 
 
        return $this; 
    } 
 
    /** 
     * Get isShoppingAgent 
     * 
     * @return integer 
     */ 
    public function getIsShoppingAgent() 
    { 
        return $this->isShoppingAgent; 
    } 
 
    /** 
     * Set isServiceList 
     * 
     * @param integer $isServiceList 
     * 
     * @return Server 
     */ 
    public function setIsServiceList($isServiceList) 
    { 
        $this->isServiceList = $isServiceList; 
 
        return $this; 
    } 
 
    /** 
     * Get isServiceList 
     * 
     * @return integer 
     */ 
    public function getIsServiceList() 
    { 
        return $this->isServiceList; 
    } 
 
    /** 
     * Set dateStart 
     * 
     * @param \DateTime $dateStart 
     * 
     * @return Server 
     */ 
    public function setDateStart($dateStart) 
    { 
        $this->dateStart = $dateStart; 
 
        return $this; 
    } 
 
    /** 
     * Get dateStart 
     * 
     * @return \DateTime 
     */ 
    public function getDateStart() 
    { 
        return $this->dateStart; 
    } 
 
    /** 
     * Set statusId 
     * 
     * @param integer $statusId 
     * 
     * @return Server 
     */ 
    public function setStatusId($statusId) 
    { 
        $this->statusId = $statusId; 
 
        return $this; 
    } 
 
    /** 
     * Get statusId 
     * 
     * @return integer 
     */ 
    public function getStatusId() 
    { 
        return $this->statusId; 
    } 
 
    /** 
     * Set address 
     * 
     * @param string $address 
     * 
     * @return Server 
     */ 
    public function setAddress($address) 
    { 
        $this->address = $address; 
 
        return $this; 
    } 
 
    /** 
     * Get address 
     * 
     * @return string 
     */ 
    public function getAddress() 
    { 
        return $this->address; 
    } 
 
    /** 
     * Set email 
     * 
     * @param string $email 
     * 
     * @return Server 
     */ 
    public function setEmail($email) 
    { 
        $this->email = $email; 
 
        return $this; 
    } 
 
    /** 
     * Get email 
     * 
     * @return string 
     */ 
    public function getEmail() 
    { 
        return $this->email; 
    } 
 
    /** 
     * Set logoUrl 
     * 
     * @param string $logoUrl 
     * 
     * @return Server 
     */ 
    public function setLogoUrl($logoUrl) 
    { 
        $this->logoUrl = $logoUrl; 
 
        return $this; 
    } 
 
    /** 
     * Get logoUrl 
     * 
     * @return string 
     */ 
    public function getLogoUrl() 
    { 
        return $this->logoUrl; 
    } 
 
    /** 
     * Add service 
     * 
     * @param \App\Entity\Service $service 
     * 
     * @return Server 
     */ 
    public function addService(\App\Entity\Service $service) 
    { 
        $this->services[] = $service; 
 
        return $this; 
    } 
 
    /** 
     * Remove service 
     * 
     * @param \App\Entity\Service $service 
     */ 
    public function removeService(\App\Entity\Service $service) 
    { 
        $this->services->removeElement($service); 
    } 
 
    /** 
     * Get services 
     * 
     * @return \Doctrine\Common\Collections\Collection 
     */ 
    public function getServices() 
    { 
        return $this->services; 
    } 
 
    /** 
     * Set serviceCollection 
     * 
     * @param array $serviceCollection 
     * 
     * @return Server 
     */ 
    public function setServiceCollection($serviceCollection) 
    { 
        $this->serviceCollection = $serviceCollection; 
 
        return $this; 
    } 
 
    /** 
     * Get serviceCollection 
     * 
     * @return array 
     */ 
    public function getServiceCollection() 
    { 
        return $this->serviceCollection; 
    } 
}