<?php

namespace \Losc\CucmBundle\Model\Webservice\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for XDateTimeGroup StructType
 * @subpackage Structs
 */
class XDateTimeGroup extends AbstractStructBase
{
    /**
     * The name
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $name;
    /**
     * The timeZone
     * Meta information extracted from the WSDL
     * - default: Europe/London
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $timeZone;
    /**
     * The separator
     * Meta information extracted from the WSDL
     * - documentation: It can be one among / (slash), . (dot), - (dash)
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $separator;
    /**
     * The dateformat
     * Meta information extracted from the WSDL
     * - documentation: It can be one among D/M/Y,M/D/Y,Y/M/D
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: false
     * @var string
     */
    public $dateformat;
    /**
     * The timeFormat
     * Meta information extracted from the WSDL
     * - documentation: It can be one among 12-hour,24-hour
     * - maxOccurs: 1
     * - minOccurs: 1
     * @var string
     */
    public $timeFormat;
    /**
     * The phoneNtpReferences
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences
     */
    public $phoneNtpReferences;
    /**
     * Constructor method for XDateTimeGroup
     * @uses XDateTimeGroup::setName()
     * @uses XDateTimeGroup::setTimeZone()
     * @uses XDateTimeGroup::setSeparator()
     * @uses XDateTimeGroup::setDateformat()
     * @uses XDateTimeGroup::setTimeFormat()
     * @uses XDateTimeGroup::setPhoneNtpReferences()
     * @param string $name
     * @param string $timeZone
     * @param string $separator
     * @param string $dateformat
     * @param string $timeFormat
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences $phoneNtpReferences
     */
    public function __construct($name = null, $timeZone = 'Europe/London', $separator = null, $dateformat = null, $timeFormat = null, \\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences $phoneNtpReferences = null)
    {
        $this
            ->setName($name)
            ->setTimeZone($timeZone)
            ->setSeparator($separator)
            ->setDateformat($dateformat)
            ->setTimeFormat($timeFormat)
            ->setPhoneNtpReferences($phoneNtpReferences);
    }
    /**
     * Get name value
     * @return string
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param string $name
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setName($name = null)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get timeZone value
     * @return string
     */
    public function getTimeZone()
    {
        return $this->timeZone;
    }
    /**
     * Set timeZone value
     * @param string $timeZone
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setTimeZone($timeZone = 'Europe/London')
    {
        $this->timeZone = $timeZone;
        return $this;
    }
    /**
     * Get separator value
     * @return string
     */
    public function getSeparator()
    {
        return $this->separator;
    }
    /**
     * Set separator value
     * @param string $separator
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setSeparator($separator = null)
    {
        $this->separator = $separator;
        return $this;
    }
    /**
     * Get dateformat value
     * @return string
     */
    public function getDateformat()
    {
        return $this->dateformat;
    }
    /**
     * Set dateformat value
     * @param string $dateformat
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setDateformat($dateformat = null)
    {
        $this->dateformat = $dateformat;
        return $this;
    }
    /**
     * Get timeFormat value
     * @return string
     */
    public function getTimeFormat()
    {
        return $this->timeFormat;
    }
    /**
     * Set timeFormat value
     * @param string $timeFormat
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setTimeFormat($timeFormat = null)
    {
        $this->timeFormat = $timeFormat;
        return $this;
    }
    /**
     * Get phoneNtpReferences value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences|null
     */
    public function getPhoneNtpReferences()
    {
        return $this->phoneNtpReferences;
    }
    /**
     * Set phoneNtpReferences value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences $phoneNtpReferences
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDateTimeGroup
     */
    public function setPhoneNtpReferences(\\Losc\CucmBundle\Model\Webservice\StructType\PhoneNtpReferences $phoneNtpReferences = null)
    {
        $this->phoneNtpReferences = $phoneNtpReferences;
        return $this;
    }
}
