<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for XDirectoryUri StructType
 * @subpackage Structs
 */
class XDirectoryUri extends AbstractStructBase
{
    /**
     * The isPrimary
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 1
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $isPrimary;
    /**
     * The uri
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 128
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var string
     */
    public $uri;
    /**
     * The partition
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $partition;
    /**
     * The advertiseGloballyViaIls
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - default: true
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $advertiseGloballyViaIls;
    /**
     * Constructor method for XDirectoryUri
     * @uses XDirectoryUri::setIsPrimary()
     * @uses XDirectoryUri::setUri()
     * @uses XDirectoryUri::setPartition()
     * @uses XDirectoryUri::setAdvertiseGloballyViaIls()
     * @param string $isPrimary
     * @param string $uri
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $partition
     * @param string $advertiseGloballyViaIls
     */
    public function __construct($isPrimary = null, $uri = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $partition = null, $advertiseGloballyViaIls = 'true')
    {
        $this
            ->setIsPrimary($isPrimary)
            ->setUri($uri)
            ->setPartition($partition)
            ->setAdvertiseGloballyViaIls($advertiseGloballyViaIls);
    }
    /**
     * Get isPrimary value
     * @return string
     */
    public function getIsPrimary()
    {
        return $this->isPrimary;
    }
    /**
     * Set isPrimary value
     * @param string $isPrimary
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDirectoryUri
     */
    public function setIsPrimary($isPrimary = null)
    {
        $this->isPrimary = $isPrimary;
        return $this;
    }
    /**
     * Get uri value
     * @return string
     */
    public function getUri()
    {
        return $this->uri;
    }
    /**
     * Set uri value
     * @param string $uri
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDirectoryUri
     */
    public function setUri($uri = null)
    {
        $this->uri = $uri;
        return $this;
    }
    /**
     * Get partition value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public function getPartition()
    {
        return $this->partition;
    }
    /**
     * Set partition value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $partition
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDirectoryUri
     */
    public function setPartition(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $partition = null)
    {
        $this->partition = $partition;
        return $this;
    }
    /**
     * Get advertiseGloballyViaIls value
     * @return string|null
     */
    public function getAdvertiseGloballyViaIls()
    {
        return $this->advertiseGloballyViaIls;
    }
    /**
     * Set advertiseGloballyViaIls value
     * @param string $advertiseGloballyViaIls
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XDirectoryUri
     */
    public function setAdvertiseGloballyViaIls($advertiseGloballyViaIls = 'true')
    {
        $this->advertiseGloballyViaIls = $advertiseGloballyViaIls;
        return $this;
    }
}
