<?php

namespace Uhura\Grossmarkt\Domain\Model;

use TYPO3\CMS\Extbase\Domain\Model\FileReference;
use TYPO3\CMS\Extbase\Persistence\ObjectStorage;

class News extends \GeorgRinger\News\Domain\Model\News
{
	/**
	 * @var string
	 */
	protected $vacancy;

	/**
	 * @var string
	 */
	protected $holiday;

	/**
	 * @var string
	 */
	protected $jobType;

	/**
	 * @var string
	 */
	protected $relatedJobTeaser;

	/**
	 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\GeorgRinger\News\Domain\Model\News>
	 * @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
	 */
	protected $relatedJob;

	/**
	 * @var News|null
	 */
	protected $dealer;

	/**
	 * @var bool
	 */
	protected $useContactEmail = false;

	/**
	 * @var string
	 */
	protected $email;

	/**
	 * @var string
	 */
	protected $phone;

	/**
	 * @var string
	 */
	protected $address;

	/**
	 * @var string
	 */
	protected $addressLink;

	/**
	 * @var string
	 */
	protected $standLink;

	/**
	 * @var string
	 */
	protected $coordinates;

	/**
	 * @var string
	 */
	protected $coordinatesLink;

	/**
	 * @var string
	 */
	protected $socialLink;

	/**
	 * @var string
	 */
	protected $subTitle;

	/**
	 * @var string
	 */
	protected $shortDescription;

	/**
	 * @var bool
	 */
	protected $showTitle;

	/**
	 * @var string
	 */
	protected $planPosition;

    /**
     * @var string
     */
    protected $uriDealers = '';


    /**
     * Fal media items
     *
     * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<FileReference>
     * @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
     */
    protected $falMediaDealers;

	/**
	 * Image Map
	 *
	 * @var \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Uhura\Grossmarkt\Domain\Model\Meta>
	 */
	protected $txCsseo;

	/**
	 * @var ObjectStorage<\Uhura\Grossmarkt\Domain\Model\Contact\Person>
	 */
	protected $contact;

	public function getVacancy()
	{
		return $this->vacancy;
	}

	public function setVacancy($vacancy)
	{
		$this->vacancy = $vacancy;
	}

	/**
	 * @return ObjectStorage<\Uhura\Grossmarkt\Domain\Model\Contact\Person>
	 */
	public function getContact()
	{
		return $this->contact;
	}

	/**
	 * @param ObjectStorage<\Uhura\Grossmarkt\Domain\Model\Contact\Person> $contact
	 * @return void
	 */
	public function setContact(ObjectStorage $contact)
	{
		$this->contact = $contact;
	}

	public function getHoliday()
	{
		return $this->holiday;
	}

	public function setHoliday($holiday)
	{
		$this->holiday = $holiday;
	}

	public function getJobType()
	{
		return $this->jobType;
	}

	public function setJobType( $jobType)
	{
		$this->jobType = $jobType;
	}

	public function isUseContactEmail(): bool
	{
		return $this->useContactEmail;
	}

	public function setUseContactEmail($useContactEmail)
	{
		$this->useContactEmail = $useContactEmail;
	}

	/**
	 * @return News|null
	 */
	public function getDealer()
	{
		return $this->dealer;
	}

	/**
	 * @param News $dealer
	 * @return void
	 */
	public function setDealer($dealer)
	{
		$this->dealer = $dealer;
	}

	/**
	 * Get related news
	 *
	 * @return \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\GeorgRinger\News\Domain\Model\News>
	 */
	public function getRelatedJob()
	{
		return $this->relatedJob;
	}

	/**
	 * Set related news
	 *
	 * @param \TYPO3\CMS\Extbase\Persistence\ObjectStorage $related related news
	 */
	public function setRelatedJob($relatedJob)
	{
		$this->relatedJob = $relatedJob;
	}

	public function getRelatedJobTeaser()
	{
		return $this->relatedJobTeaser;
	}

	public function setRelatedJobTeaser($relatedJobTeaser)
	{
		$this->relatedJobTeaser = $relatedJobTeaser;
	}

	public function getEmail()
	{
		return $this->email;
	}

	public function setEmail($email)
	{
		$this->email = $email;
	}

	public function getPhone()
	{
		return $this->phone;
	}

	public function setPhone($phone)
	{
		$this->phone = $phone;
	}

	public function getStandLink()
	{
		return $this->standLink;
	}

	public function setStandLink($standLink)
	{
		$this->standLink = $standLink;
	}

	public function getSubTitle()
	{
		return $this->subTitle;
	}

	public function setSubTitle($subTitle)
	{
		$this->subTitle = $subTitle;
	}

	public function getShortDescription()
	{
		return $this->shortDescription;
	}

	public function setShortDescription($shortDescription)
	{
		$this->shortDescription = $shortDescription;
	}

	public function isShowTitle(): bool
	{
		return $this->showTitle;
	}

	public function setShowTitle($showTitle)
	{
		$this->showTitle = $showTitle;
	}

	public function getAddress()
	{
		return $this->address;
	}

	public function setAddress($address)
	{
		$this->address = $address;
	}

	public function getAddressLink()
	{
		return $this->addressLink;
	}

	public function setAddressLink($addressLink)
	{
		$this->addressLink = $addressLink;
	}

	public function getPlanPosition()
	{
		return $this->planPosition;
	}

	public function setPlanPosition($planPosition): void
	{
		$this->planPosition = $planPosition;
	}

	public function getCoordinates()
	{
		return $this->coordinates;
	}

	public function setCoordinates($coordinates)
	{
		$this->coordinates = $coordinates;
	}

	public function getSocialLink()
	{
		return $this->socialLink;
	}

	public function setSocialLink($socialLink)
	{
		$this->socialLink = $socialLink;
	}

	public function getTxCsseo(): ObjectStorage
	{
		return $this->txCsseo;
	}

	public function setTxCsseo($txCsseo): void
	{
		$this->txCsseo = $txCsseo;
	}

	public function getCoordinatesLink()
	{
		return $this->coordinatesLink;
	}

	public function setCoordinatesLink($coordinatesLink): void
	{
		$this->coordinatesLink = $coordinatesLink;
	}

    public function getUriDealers(): string
    {
        return $this->uriDealers;
    }

    public function setUriDealers(string $uriDealers): void
    {
        $this->uriDealers = $uriDealers;
    }


    public function getFalMediaDealers(): ObjectStorage
    {
        return $this->falMediaDealers;
    }

    public function setFalMediaDealers(ObjectStorage $falMediaDealers): void
    {
        $this->falMediaDealers = $falMediaDealers;
    }


}