<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RUserPhoneAssociation StructType
 * @subpackage Structs
 */
class RUserPhoneAssociation extends AbstractStructBase
{
    /**
     * The userId
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $userId;
    /**
     * The password
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $password;
    /**
     * The pin
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pin;
    /**
     * The lastName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $lastName;
    /**
     * The middleName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $middleName;
    /**
     * The firstName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $firstName;
    /**
     * The productType
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $productType;
    /**
     * The name
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 128
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $name;
    /**
     * The dnCssName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $dnCssName;
    /**
     * The phoneCssName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $phoneCssName;
    /**
     * The e164Mask
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $e164Mask;
    /**
     * The extension
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $extension;
    /**
     * The routePartitionName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $routePartitionName;
    /**
     * The voiceMailProfileName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $voiceMailProfileName;
    /**
     * The enableExtensionMobility
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $enableExtensionMobility;
    /**
     * The DirectoryURI
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $DirectoryURI;
    /**
     * The DirectoryNumberURIPartition
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $DirectoryNumberURIPartition;
    /**
     * The uuid
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - pattern: \{........-....-....-....-............\}
     * @var string
     */
    public $uuid;
    /**
     * Constructor method for RUserPhoneAssociation
     * @uses RUserPhoneAssociation::setUserId()
     * @uses RUserPhoneAssociation::setPassword()
     * @uses RUserPhoneAssociation::setPin()
     * @uses RUserPhoneAssociation::setLastName()
     * @uses RUserPhoneAssociation::setMiddleName()
     * @uses RUserPhoneAssociation::setFirstName()
     * @uses RUserPhoneAssociation::setProductType()
     * @uses RUserPhoneAssociation::setName()
     * @uses RUserPhoneAssociation::setDnCssName()
     * @uses RUserPhoneAssociation::setPhoneCssName()
     * @uses RUserPhoneAssociation::setE164Mask()
     * @uses RUserPhoneAssociation::setExtension()
     * @uses RUserPhoneAssociation::setRoutePartitionName()
     * @uses RUserPhoneAssociation::setVoiceMailProfileName()
     * @uses RUserPhoneAssociation::setEnableExtensionMobility()
     * @uses RUserPhoneAssociation::setDirectoryURI()
     * @uses RUserPhoneAssociation::setDirectoryNumberURIPartition()
     * @uses RUserPhoneAssociation::setUuid()
     * @param string $userId
     * @param string $password
     * @param string $pin
     * @param string $lastName
     * @param string $middleName
     * @param string $firstName
     * @param string $productType
     * @param string $name
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dnCssName
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $phoneCssName
     * @param string $e164Mask
     * @param string $extension
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $routePartitionName
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $voiceMailProfileName
     * @param string $enableExtensionMobility
     * @param string $directoryURI
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $directoryNumberURIPartition
     * @param string $uuid
     */
    public function __construct($userId = null, $password = null, $pin = null, $lastName = null, $middleName = null, $firstName = null, $productType = null, $name = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dnCssName = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $phoneCssName = null, $e164Mask = null, $extension = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $routePartitionName = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $voiceMailProfileName = null, $enableExtensionMobility = null, $directoryURI = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $directoryNumberURIPartition = null, $uuid = null)
    {
        $this
            ->setUserId($userId)
            ->setPassword($password)
            ->setPin($pin)
            ->setLastName($lastName)
            ->setMiddleName($middleName)
            ->setFirstName($firstName)
            ->setProductType($productType)
            ->setName($name)
            ->setDnCssName($dnCssName)
            ->setPhoneCssName($phoneCssName)
            ->setE164Mask($e164Mask)
            ->setExtension($extension)
            ->setRoutePartitionName($routePartitionName)
            ->setVoiceMailProfileName($voiceMailProfileName)
            ->setEnableExtensionMobility($enableExtensionMobility)
            ->setDirectoryURI($directoryURI)
            ->setDirectoryNumberURIPartition($directoryNumberURIPartition)
            ->setUuid($uuid);
    }
    /**
     * Get userId value
     * @return string|null
     */
    public function getUserId()
    {
        return $this->userId;
    }
    /**
     * Set userId value
     * @param string $userId
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setUserId($userId = null)
    {
        $this->userId = $userId;
        return $this;
    }
    /**
     * Get password value
     * @return string|null
     */
    public function getPassword()
    {
        return $this->password;
    }
    /**
     * Set password value
     * @param string $password
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setPassword($password = null)
    {
        $this->password = $password;
        return $this;
    }
    /**
     * Get pin value
     * @return string|null
     */
    public function getPin()
    {
        return $this->pin;
    }
    /**
     * Set pin value
     * @param string $pin
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setPin($pin = null)
    {
        $this->pin = $pin;
        return $this;
    }
    /**
     * Get lastName value
     * @return string|null
     */
    public function getLastName()
    {
        return $this->lastName;
    }
    /**
     * Set lastName value
     * @param string $lastName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setLastName($lastName = null)
    {
        $this->lastName = $lastName;
        return $this;
    }
    /**
     * Get middleName value
     * @return string|null
     */
    public function getMiddleName()
    {
        return $this->middleName;
    }
    /**
     * Set middleName value
     * @param string $middleName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setMiddleName($middleName = null)
    {
        $this->middleName = $middleName;
        return $this;
    }
    /**
     * Get firstName value
     * @return string|null
     */
    public function getFirstName()
    {
        return $this->firstName;
    }
    /**
     * Set firstName value
     * @param string $firstName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setFirstName($firstName = null)
    {
        $this->firstName = $firstName;
        return $this;
    }
    /**
     * Get productType value
     * @return string|null
     */
    public function getProductType()
    {
        return $this->productType;
    }
    /**
     * Set productType value
     * @param string $productType
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setProductType($productType = null)
    {
        $this->productType = $productType;
        return $this;
    }
    /**
     * Get name value
     * @return string|null
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param string $name
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setName($name = null)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get dnCssName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getDnCssName()
    {
        return $this->dnCssName;
    }
    /**
     * Set dnCssName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dnCssName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setDnCssName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $dnCssName = null)
    {
        $this->dnCssName = $dnCssName;
        return $this;
    }
    /**
     * Get phoneCssName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getPhoneCssName()
    {
        return $this->phoneCssName;
    }
    /**
     * Set phoneCssName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $phoneCssName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setPhoneCssName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $phoneCssName = null)
    {
        $this->phoneCssName = $phoneCssName;
        return $this;
    }
    /**
     * Get e164Mask value
     * @return string|null
     */
    public function getE164Mask()
    {
        return $this->e164Mask;
    }
    /**
     * Set e164Mask value
     * @param string $e164Mask
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setE164Mask($e164Mask = null)
    {
        $this->e164Mask = $e164Mask;
        return $this;
    }
    /**
     * Get extension value
     * @return string|null
     */
    public function getExtension()
    {
        return $this->extension;
    }
    /**
     * Set extension value
     * @param string $extension
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setExtension($extension = null)
    {
        $this->extension = $extension;
        return $this;
    }
    /**
     * Get routePartitionName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getRoutePartitionName()
    {
        return $this->routePartitionName;
    }
    /**
     * Set routePartitionName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $routePartitionName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setRoutePartitionName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $routePartitionName = null)
    {
        $this->routePartitionName = $routePartitionName;
        return $this;
    }
    /**
     * Get voiceMailProfileName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getVoiceMailProfileName()
    {
        return $this->voiceMailProfileName;
    }
    /**
     * Set voiceMailProfileName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $voiceMailProfileName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setVoiceMailProfileName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $voiceMailProfileName = null)
    {
        $this->voiceMailProfileName = $voiceMailProfileName;
        return $this;
    }
    /**
     * Get enableExtensionMobility value
     * @return string|null
     */
    public function getEnableExtensionMobility()
    {
        return $this->enableExtensionMobility;
    }
    /**
     * Set enableExtensionMobility value
     * @param string $enableExtensionMobility
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setEnableExtensionMobility($enableExtensionMobility = null)
    {
        $this->enableExtensionMobility = $enableExtensionMobility;
        return $this;
    }
    /**
     * Get DirectoryURI value
     * @return string|null
     */
    public function getDirectoryURI()
    {
        return $this->DirectoryURI;
    }
    /**
     * Set DirectoryURI value
     * @param string $directoryURI
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setDirectoryURI($directoryURI = null)
    {
        $this->DirectoryURI = $directoryURI;
        return $this;
    }
    /**
     * Get DirectoryNumberURIPartition value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getDirectoryNumberURIPartition()
    {
        return $this->DirectoryNumberURIPartition;
    }
    /**
     * Set DirectoryNumberURIPartition value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $directoryNumberURIPartition
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setDirectoryNumberURIPartition(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $directoryNumberURIPartition = null)
    {
        $this->DirectoryNumberURIPartition = $directoryNumberURIPartition;
        return $this;
    }
    /**
     * Get uuid value
     * @return string|null
     */
    public function getUuid()
    {
        return $this->uuid;
    }
    /**
     * Set uuid value
     * @param string $uuid
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RUserPhoneAssociation
     */
    public function setUuid($uuid = null)
    {
        $this->uuid = $uuid;
        return $this;
    }
}
