<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RLine StructType
 * @subpackage Structs
 */
class RLine extends AbstractStructBase
{
    /**
     * The pattern
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pattern;
    /**
     * The description
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $description;
    /**
     * The usage
     * Meta informations extracted from the WSDL
     * - documentation: For Intercom DN and Intercom Translation patterns the usage tag value needs to be specified explicitly as Device Intercom and Translation Intercom respectively. For all other patterns it is a Read-only tag.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $usage;
    /**
     * The routePartitionName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $routePartitionName;
    /**
     * The aarNeighborhoodName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $aarNeighborhoodName;
    /**
     * The aarDestinationMask
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - maxLength: 128
     * @var string
     */
    public $aarDestinationMask;
    /**
     * The aarKeepCallHistory
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $aarKeepCallHistory;
    /**
     * The aarVoiceMailEnabled
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $aarVoiceMailEnabled;
    /**
     * The callForwardAll
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardAll
     */
    public $callForwardAll;
    /**
     * The callForwardBusy
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardBusy
     */
    public $callForwardBusy;
    /**
     * The callForwardBusyInt
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardBusyInt
     */
    public $callForwardBusyInt;
    /**
     * The callForwardNoAnswer
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNoAnswer
     */
    public $callForwardNoAnswer;
    /**
     * The callForwardNoAnswerInt
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNoAnswerInt
     */
    public $callForwardNoAnswerInt;
    /**
     * The callForwardNoCoverage
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNoCoverage
     */
    public $callForwardNoCoverage;
    /**
     * The callForwardNoCoverageInt
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNoCoverageInt
     */
    public $callForwardNoCoverageInt;
    /**
     * The callForwardOnFailure
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardOnFailure
     */
    public $callForwardOnFailure;
    /**
     * The callForwardAlternateParty
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardAlternateParty
     */
    public $callForwardAlternateParty;
    /**
     * The callForwardNotRegistered
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNotRegistered
     */
    public $callForwardNotRegistered;
    /**
     * The callForwardNotRegisteredInt
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var RCallForwardNotRegisteredInt
     */
    public $callForwardNotRegisteredInt;
    /**
     * The callPickupGroupName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $callPickupGroupName;
    /**
     * The autoAnswer
     * Meta informations extracted from the WSDL
     * - documentation: For an intercom line this tag should be treated as a mandatory tag and the valid values are Auto Answer with Headset and Auto Answer with Speakerphone.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $autoAnswer;
    /**
     * The networkHoldMohAudioSourceId
     * Meta informations extracted from the WSDL
     * - documentation: A value of 0 means 'none selected'.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $networkHoldMohAudioSourceId;
    /**
     * The userHoldMohAudioSourceId
     * Meta informations extracted from the WSDL
     * - documentation: A value of 0 means 'none selected'.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $userHoldMohAudioSourceId;
    /**
     * The alertingName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - maxLength: 50
     * @var string
     */
    public $alertingName;
    /**
     * The asciiAlertingName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - maxLength: 32
     * @var string
     */
    public $asciiAlertingName;
    /**
     * The presenceGroupName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $presenceGroupName;
    /**
     * The shareLineAppearanceCssName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $shareLineAppearanceCssName;
    /**
     * The voiceMailProfileName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $voiceMailProfileName;
    /**
     * The patternPrecedence
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $patternPrecedence;
    /**
     * The releaseClause
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $releaseClause;
    /**
     * The hrDuration
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $hrDuration;
    /**
     * The hrInterval
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $hrInterval;
    /**
     * The cfaCssPolicy
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $cfaCssPolicy;
    /**
     * The defaultActivatedDeviceName
     * Meta informations extracted from the WSDL
     * - documentation: This tag is applicable for only intercom lines and if not set, intercom lines will not be active.
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $defaultActivatedDeviceName;
    /**
     * The parkMonForwardNoRetrieveDn
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - maxLength: 50
     * @var string
     */
    public $parkMonForwardNoRetrieveDn;
    /**
     * The parkMonForwardNoRetrieveIntDn
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - maxLength: 50
     * @var string
     */
    public $parkMonForwardNoRetrieveIntDn;
    /**
     * The parkMonForwardNoRetrieveVmEnabled
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $parkMonForwardNoRetrieveVmEnabled;
    /**
     * The parkMonForwardNoRetrieveIntVmEnabled
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $parkMonForwardNoRetrieveIntVmEnabled;
    /**
     * The parkMonForwardNoRetrieveCssName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $parkMonForwardNoRetrieveCssName;
    /**
     * The parkMonForwardNoRetrieveIntCssName
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $parkMonForwardNoRetrieveIntCssName;
    /**
     * The parkMonReversionTimer
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $parkMonReversionTimer;
    /**
     * The partyEntranceTone
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $partyEntranceTone;
    /**
     * The directoryURIs
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var DirectoryURIs
     */
    public $directoryURIs;
    /**
     * The allowCtiControlFlag
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $allowCtiControlFlag;
    /**
     * The rejectAnonymousCall
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $rejectAnonymousCall;
    /**
     * The patternUrgency
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $patternUrgency;
    /**
     * The confidentialAccess
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var ConfidentialAccess
     */
    public $confidentialAccess;
    /**
     * The externalCallControlProfile
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var XFkType
     */
    public $externalCallControlProfile;
    /**
     * The enterpriseAltNum
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var EnterpriseAltNum
     */
    public $enterpriseAltNum;
    /**
     * The e164AltNum
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var E164AltNum
     */
    public $e164AltNum;
    /**
     * The pstnFailover
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $pstnFailover;
    /**
     * The callControlAgentProfile
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $callControlAgentProfile;
    /**
     * The associatedDevices
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var AssociatedDevices
     */
    public $associatedDevices;
    /**
     * The useEnterpriseAltNum
     * Meta informations extracted from the WSDL
     * - documentation: While UPDATE set it to false if you want to delete enterpriseAltNumber.Use only while update
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $useEnterpriseAltNum;
    /**
     * The useE164AltNum
     * Meta informations extracted from the WSDL
     * - documentation: While UPDATE set it to false if you want to delete e164AltNumber
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $useE164AltNum;
    /**
     * The active
     * Meta informations extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $active;
    /**
     * The uuid
     * Meta informations extracted from the WSDL
     * - pattern: \{........-....-....-....-............\}
     * @var string
     */
    public $uuid;
    /**
     * Constructor method for RLine
     * @uses RLine::setPattern()
     * @uses RLine::setDescription()
     * @uses RLine::setUsage()
     * @uses RLine::setRoutePartitionName()
     * @uses RLine::setAarNeighborhoodName()
     * @uses RLine::setAarDestinationMask()
     * @uses RLine::setAarKeepCallHistory()
     * @uses RLine::setAarVoiceMailEnabled()
     * @uses RLine::setCallForwardAll()
     * @uses RLine::setCallForwardBusy()
     * @uses RLine::setCallForwardBusyInt()
     * @uses RLine::setCallForwardNoAnswer()
     * @uses RLine::setCallForwardNoAnswerInt()
     * @uses RLine::setCallForwardNoCoverage()
     * @uses RLine::setCallForwardNoCoverageInt()
     * @uses RLine::setCallForwardOnFailure()
     * @uses RLine::setCallForwardAlternateParty()
     * @uses RLine::setCallForwardNotRegistered()
     * @uses RLine::setCallForwardNotRegisteredInt()
     * @uses RLine::setCallPickupGroupName()
     * @uses RLine::setAutoAnswer()
     * @uses RLine::setNetworkHoldMohAudioSourceId()
     * @uses RLine::setUserHoldMohAudioSourceId()
     * @uses RLine::setAlertingName()
     * @uses RLine::setAsciiAlertingName()
     * @uses RLine::setPresenceGroupName()
     * @uses RLine::setShareLineAppearanceCssName()
     * @uses RLine::setVoiceMailProfileName()
     * @uses RLine::setPatternPrecedence()
     * @uses RLine::setReleaseClause()
     * @uses RLine::setHrDuration()
     * @uses RLine::setHrInterval()
     * @uses RLine::setCfaCssPolicy()
     * @uses RLine::setDefaultActivatedDeviceName()
     * @uses RLine::setParkMonForwardNoRetrieveDn()
     * @uses RLine::setParkMonForwardNoRetrieveIntDn()
     * @uses RLine::setParkMonForwardNoRetrieveVmEnabled()
     * @uses RLine::setParkMonForwardNoRetrieveIntVmEnabled()
     * @uses RLine::setParkMonForwardNoRetrieveCssName()
     * @uses RLine::setParkMonForwardNoRetrieveIntCssName()
     * @uses RLine::setParkMonReversionTimer()
     * @uses RLine::setPartyEntranceTone()
     * @uses RLine::setDirectoryURIs()
     * @uses RLine::setAllowCtiControlFlag()
     * @uses RLine::setRejectAnonymousCall()
     * @uses RLine::setPatternUrgency()
     * @uses RLine::setConfidentialAccess()
     * @uses RLine::setExternalCallControlProfile()
     * @uses RLine::setEnterpriseAltNum()
     * @uses RLine::setE164AltNum()
     * @uses RLine::setPstnFailover()
     * @uses RLine::setCallControlAgentProfile()
     * @uses RLine::setAssociatedDevices()
     * @uses RLine::setUseEnterpriseAltNum()
     * @uses RLine::setUseE164AltNum()
     * @uses RLine::setActive()
     * @uses RLine::setUuid()
     * @param string $pattern
     * @param string $description
     * @param string $usage
     * @param XFkType $routePartitionName
     * @param XFkType $aarNeighborhoodName
     * @param string $aarDestinationMask
     * @param string $aarKeepCallHistory
     * @param string $aarVoiceMailEnabled
     * @param RCallForwardAll $callForwardAll
     * @param RCallForwardBusy $callForwardBusy
     * @param RCallForwardBusyInt $callForwardBusyInt
     * @param RCallForwardNoAnswer $callForwardNoAnswer
     * @param RCallForwardNoAnswerInt $callForwardNoAnswerInt
     * @param RCallForwardNoCoverage $callForwardNoCoverage
     * @param RCallForwardNoCoverageInt $callForwardNoCoverageInt
     * @param RCallForwardOnFailure $callForwardOnFailure
     * @param RCallForwardAlternateParty $callForwardAlternateParty
     * @param RCallForwardNotRegistered $callForwardNotRegistered
     * @param RCallForwardNotRegisteredInt $callForwardNotRegisteredInt
     * @param XFkType $callPickupGroupName
     * @param string $autoAnswer
     * @param string $networkHoldMohAudioSourceId
     * @param string $userHoldMohAudioSourceId
     * @param string $alertingName
     * @param string $asciiAlertingName
     * @param XFkType $presenceGroupName
     * @param XFkType $shareLineAppearanceCssName
     * @param XFkType $voiceMailProfileName
     * @param string $patternPrecedence
     * @param string $releaseClause
     * @param string $hrDuration
     * @param string $hrInterval
     * @param string $cfaCssPolicy
     * @param XFkType $defaultActivatedDeviceName
     * @param string $parkMonForwardNoRetrieveDn
     * @param string $parkMonForwardNoRetrieveIntDn
     * @param string $parkMonForwardNoRetrieveVmEnabled
     * @param string $parkMonForwardNoRetrieveIntVmEnabled
     * @param XFkType $parkMonForwardNoRetrieveCssName
     * @param XFkType $parkMonForwardNoRetrieveIntCssName
     * @param string $parkMonReversionTimer
     * @param string $partyEntranceTone
     * @param DirectoryURIs $directoryURIs
     * @param string $allowCtiControlFlag
     * @param string $rejectAnonymousCall
     * @param string $patternUrgency
     * @param ConfidentialAccess $confidentialAccess
     * @param XFkType $externalCallControlProfile
     * @param EnterpriseAltNum $enterpriseAltNum
     * @param E164AltNum $e164AltNum
     * @param string $pstnFailover
     * @param string $callControlAgentProfile
     * @param AssociatedDevices $associatedDevices
     * @param string $useEnterpriseAltNum
     * @param string $useE164AltNum
     * @param string $active
     * @param string $uuid
     */
    public function __construct($pattern = null, $description = null, $usage = null, XFkType $routePartitionName = null, XFkType $aarNeighborhoodName = null, $aarDestinationMask = null, $aarKeepCallHistory = null, $aarVoiceMailEnabled = null, RCallForwardAll $callForwardAll = null, RCallForwardBusy $callForwardBusy = null, RCallForwardBusyInt $callForwardBusyInt = null, RCallForwardNoAnswer $callForwardNoAnswer = null, RCallForwardNoAnswerInt $callForwardNoAnswerInt = null, RCallForwardNoCoverage $callForwardNoCoverage = null, RCallForwardNoCoverageInt $callForwardNoCoverageInt = null, RCallForwardOnFailure $callForwardOnFailure = null, RCallForwardAlternateParty $callForwardAlternateParty = null, RCallForwardNotRegistered $callForwardNotRegistered = null, RCallForwardNotRegisteredInt $callForwardNotRegisteredInt = null, XFkType $callPickupGroupName = null, $autoAnswer = null, $networkHoldMohAudioSourceId = null, $userHoldMohAudioSourceId = null, $alertingName = null, $asciiAlertingName = null, XFkType $presenceGroupName = null, XFkType $shareLineAppearanceCssName = null, XFkType $voiceMailProfileName = null, $patternPrecedence = null, $releaseClause = null, $hrDuration = null, $hrInterval = null, $cfaCssPolicy = null, XFkType $defaultActivatedDeviceName = null, $parkMonForwardNoRetrieveDn = null, $parkMonForwardNoRetrieveIntDn = null, $parkMonForwardNoRetrieveVmEnabled = null, $parkMonForwardNoRetrieveIntVmEnabled = null, XFkType $parkMonForwardNoRetrieveCssName = null, XFkType $parkMonForwardNoRetrieveIntCssName = null, $parkMonReversionTimer = null, $partyEntranceTone = null, DirectoryURIs $directoryURIs = null, $allowCtiControlFlag = null, $rejectAnonymousCall = null, $patternUrgency = null, ConfidentialAccess $confidentialAccess = null, XFkType $externalCallControlProfile = null, EnterpriseAltNum $enterpriseAltNum = null, E164AltNum $e164AltNum = null, $pstnFailover = null, $callControlAgentProfile = null, AssociatedDevices $associatedDevices = null, $useEnterpriseAltNum = null, $useE164AltNum = null, $active = null, $uuid = null)
    {
        $this
            ->setPattern($pattern)
            ->setDescription($description)
            ->setUsage($usage)
            ->setRoutePartitionName($routePartitionName)
            ->setAarNeighborhoodName($aarNeighborhoodName)
            ->setAarDestinationMask($aarDestinationMask)
            ->setAarKeepCallHistory($aarKeepCallHistory)
            ->setAarVoiceMailEnabled($aarVoiceMailEnabled)
            ->setCallForwardAll($callForwardAll)
            ->setCallForwardBusy($callForwardBusy)
            ->setCallForwardBusyInt($callForwardBusyInt)
            ->setCallForwardNoAnswer($callForwardNoAnswer)
            ->setCallForwardNoAnswerInt($callForwardNoAnswerInt)
            ->setCallForwardNoCoverage($callForwardNoCoverage)
            ->setCallForwardNoCoverageInt($callForwardNoCoverageInt)
            ->setCallForwardOnFailure($callForwardOnFailure)
            ->setCallForwardAlternateParty($callForwardAlternateParty)
            ->setCallForwardNotRegistered($callForwardNotRegistered)
            ->setCallForwardNotRegisteredInt($callForwardNotRegisteredInt)
            ->setCallPickupGroupName($callPickupGroupName)
            ->setAutoAnswer($autoAnswer)
            ->setNetworkHoldMohAudioSourceId($networkHoldMohAudioSourceId)
            ->setUserHoldMohAudioSourceId($userHoldMohAudioSourceId)
            ->setAlertingName($alertingName)
            ->setAsciiAlertingName($asciiAlertingName)
            ->setPresenceGroupName($presenceGroupName)
            ->setShareLineAppearanceCssName($shareLineAppearanceCssName)
            ->setVoiceMailProfileName($voiceMailProfileName)
            ->setPatternPrecedence($patternPrecedence)
            ->setReleaseClause($releaseClause)
            ->setHrDuration($hrDuration)
            ->setHrInterval($hrInterval)
            ->setCfaCssPolicy($cfaCssPolicy)
            ->setDefaultActivatedDeviceName($defaultActivatedDeviceName)
            ->setParkMonForwardNoRetrieveDn($parkMonForwardNoRetrieveDn)
            ->setParkMonForwardNoRetrieveIntDn($parkMonForwardNoRetrieveIntDn)
            ->setParkMonForwardNoRetrieveVmEnabled($parkMonForwardNoRetrieveVmEnabled)
            ->setParkMonForwardNoRetrieveIntVmEnabled($parkMonForwardNoRetrieveIntVmEnabled)
            ->setParkMonForwardNoRetrieveCssName($parkMonForwardNoRetrieveCssName)
            ->setParkMonForwardNoRetrieveIntCssName($parkMonForwardNoRetrieveIntCssName)
            ->setParkMonReversionTimer($parkMonReversionTimer)
            ->setPartyEntranceTone($partyEntranceTone)
            ->setDirectoryURIs($directoryURIs)
            ->setAllowCtiControlFlag($allowCtiControlFlag)
            ->setRejectAnonymousCall($rejectAnonymousCall)
            ->setPatternUrgency($patternUrgency)
            ->setConfidentialAccess($confidentialAccess)
            ->setExternalCallControlProfile($externalCallControlProfile)
            ->setEnterpriseAltNum($enterpriseAltNum)
            ->setE164AltNum($e164AltNum)
            ->setPstnFailover($pstnFailover)
            ->setCallControlAgentProfile($callControlAgentProfile)
            ->setAssociatedDevices($associatedDevices)
            ->setUseEnterpriseAltNum($useEnterpriseAltNum)
            ->setUseE164AltNum($useE164AltNum)
            ->setActive($active)
            ->setUuid($uuid);
    }
    /**
     * Get pattern value
     * @return string|null
     */
    public function getPattern()
    {
        return $this->pattern;
    }
    /**
     * Set pattern value
     * @param string $pattern
     * @return RLine
     */
    public function setPattern($pattern = null)
    {
        // validation for constraint: string
        if (!is_null($pattern) && !is_string($pattern)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($pattern)), __LINE__);
        }
        $this->pattern = $pattern;
        return $this;
    }
    /**
     * Get description value
     * @return string|null
     */
    public function getDescription()
    {
        return $this->description;
    }
    /**
     * Set description value
     * @param string $description
     * @return RLine
     */
    public function setDescription($description = null)
    {
        // validation for constraint: string
        if (!is_null($description) && !is_string($description)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($description)), __LINE__);
        }
        $this->description = $description;
        return $this;
    }
    /**
     * Get usage value
     * @return string|null
     */
    public function getUsage()
    {
        return $this->usage;
    }
    /**
     * Set usage value
     * @uses XPatternUsage::valueIsValid()
     * @uses XPatternUsage::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $usage
     * @return RLine
     */
    public function setUsage($usage = null)
    {
        // validation for constraint: enumeration
        if (!XPatternUsage::valueIsValid($usage)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $usage, implode(', ', XPatternUsage::getValidValues())), __LINE__);
        }
        $this->usage = $usage;
        return $this;
    }
    /**
     * Get routePartitionName value
     * @return XFkType|null
     */
    public function getRoutePartitionName()
    {
        return $this->routePartitionName;
    }
    /**
     * Set routePartitionName value
     * @param XFkType $routePartitionName
     * @return RLine
     */
    public function setRoutePartitionName(XFkType $routePartitionName = null)
    {
        $this->routePartitionName = $routePartitionName;
        return $this;
    }
    /**
     * Get aarNeighborhoodName value
     * @return XFkType|null
     */
    public function getAarNeighborhoodName()
    {
        return $this->aarNeighborhoodName;
    }
    /**
     * Set aarNeighborhoodName value
     * @param XFkType $aarNeighborhoodName
     * @return RLine
     */
    public function setAarNeighborhoodName(XFkType $aarNeighborhoodName = null)
    {
        $this->aarNeighborhoodName = $aarNeighborhoodName;
        return $this;
    }
    /**
     * Get aarDestinationMask value
     * @return string|null
     */
    public function getAarDestinationMask()
    {
        return $this->aarDestinationMask;
    }
    /**
     * Set aarDestinationMask value
     * @param string $aarDestinationMask
     * @return RLine
     */
    public function setAarDestinationMask($aarDestinationMask = null)
    {
        // validation for constraint: maxLength
        if ((is_scalar($aarDestinationMask) && strlen($aarDestinationMask) > 128) || (is_array($aarDestinationMask) && count($aarDestinationMask) > 128)) {
            throw new \InvalidArgumentException(sprintf('Invalid length, please provide an array with 128 element(s) or a scalar of 128 character(s) at most, "%d" length given', is_scalar($aarDestinationMask) ? strlen($aarDestinationMask) : count($aarDestinationMask)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($aarDestinationMask) && !is_string($aarDestinationMask)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($aarDestinationMask)), __LINE__);
        }
        $this->aarDestinationMask = $aarDestinationMask;
        return $this;
    }
    /**
     * Get aarKeepCallHistory value
     * @return string|null
     */
    public function getAarKeepCallHistory()
    {
        return $this->aarKeepCallHistory;
    }
    /**
     * Set aarKeepCallHistory value
     * @param string $aarKeepCallHistory
     * @return RLine
     */
    public function setAarKeepCallHistory($aarKeepCallHistory = null)
    {
        // validation for constraint: pattern
        if (is_scalar($aarKeepCallHistory) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $aarKeepCallHistory)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($aarKeepCallHistory, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($aarKeepCallHistory) && !is_string($aarKeepCallHistory)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($aarKeepCallHistory)), __LINE__);
        }
        $this->aarKeepCallHistory = $aarKeepCallHistory;
        return $this;
    }
    /**
     * Get aarVoiceMailEnabled value
     * @return string|null
     */
    public function getAarVoiceMailEnabled()
    {
        return $this->aarVoiceMailEnabled;
    }
    /**
     * Set aarVoiceMailEnabled value
     * @param string $aarVoiceMailEnabled
     * @return RLine
     */
    public function setAarVoiceMailEnabled($aarVoiceMailEnabled = null)
    {
        // validation for constraint: pattern
        if (is_scalar($aarVoiceMailEnabled) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $aarVoiceMailEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($aarVoiceMailEnabled, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($aarVoiceMailEnabled) && !is_string($aarVoiceMailEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($aarVoiceMailEnabled)), __LINE__);
        }
        $this->aarVoiceMailEnabled = $aarVoiceMailEnabled;
        return $this;
    }
    /**
     * Get callForwardAll value
     * @return RCallForwardAll|null
     */
    public function getCallForwardAll()
    {
        return $this->callForwardAll;
    }
    /**
     * Set callForwardAll value
     * @param RCallForwardAll $callForwardAll
     * @return RLine
     */
    public function setCallForwardAll(RCallForwardAll $callForwardAll = null)
    {
        $this->callForwardAll = $callForwardAll;
        return $this;
    }
    /**
     * Get callForwardBusy value
     * @return RCallForwardBusy|null
     */
    public function getCallForwardBusy()
    {
        return $this->callForwardBusy;
    }
    /**
     * Set callForwardBusy value
     * @param RCallForwardBusy $callForwardBusy
     * @return RLine
     */
    public function setCallForwardBusy(RCallForwardBusy $callForwardBusy = null)
    {
        $this->callForwardBusy = $callForwardBusy;
        return $this;
    }
    /**
     * Get callForwardBusyInt value
     * @return RCallForwardBusyInt|null
     */
    public function getCallForwardBusyInt()
    {
        return $this->callForwardBusyInt;
    }
    /**
     * Set callForwardBusyInt value
     * @param RCallForwardBusyInt $callForwardBusyInt
     * @return RLine
     */
    public function setCallForwardBusyInt(RCallForwardBusyInt $callForwardBusyInt = null)
    {
        $this->callForwardBusyInt = $callForwardBusyInt;
        return $this;
    }
    /**
     * Get callForwardNoAnswer value
     * @return RCallForwardNoAnswer|null
     */
    public function getCallForwardNoAnswer()
    {
        return $this->callForwardNoAnswer;
    }
    /**
     * Set callForwardNoAnswer value
     * @param RCallForwardNoAnswer $callForwardNoAnswer
     * @return RLine
     */
    public function setCallForwardNoAnswer(RCallForwardNoAnswer $callForwardNoAnswer = null)
    {
        $this->callForwardNoAnswer = $callForwardNoAnswer;
        return $this;
    }
    /**
     * Get callForwardNoAnswerInt value
     * @return RCallForwardNoAnswerInt|null
     */
    public function getCallForwardNoAnswerInt()
    {
        return $this->callForwardNoAnswerInt;
    }
    /**
     * Set callForwardNoAnswerInt value
     * @param RCallForwardNoAnswerInt $callForwardNoAnswerInt
     * @return RLine
     */
    public function setCallForwardNoAnswerInt(RCallForwardNoAnswerInt $callForwardNoAnswerInt = null)
    {
        $this->callForwardNoAnswerInt = $callForwardNoAnswerInt;
        return $this;
    }
    /**
     * Get callForwardNoCoverage value
     * @return RCallForwardNoCoverage|null
     */
    public function getCallForwardNoCoverage()
    {
        return $this->callForwardNoCoverage;
    }
    /**
     * Set callForwardNoCoverage value
     * @param RCallForwardNoCoverage $callForwardNoCoverage
     * @return RLine
     */
    public function setCallForwardNoCoverage(RCallForwardNoCoverage $callForwardNoCoverage = null)
    {
        $this->callForwardNoCoverage = $callForwardNoCoverage;
        return $this;
    }
    /**
     * Get callForwardNoCoverageInt value
     * @return RCallForwardNoCoverageInt|null
     */
    public function getCallForwardNoCoverageInt()
    {
        return $this->callForwardNoCoverageInt;
    }
    /**
     * Set callForwardNoCoverageInt value
     * @param RCallForwardNoCoverageInt $callForwardNoCoverageInt
     * @return RLine
     */
    public function setCallForwardNoCoverageInt(RCallForwardNoCoverageInt $callForwardNoCoverageInt = null)
    {
        $this->callForwardNoCoverageInt = $callForwardNoCoverageInt;
        return $this;
    }
    /**
     * Get callForwardOnFailure value
     * @return RCallForwardOnFailure|null
     */
    public function getCallForwardOnFailure()
    {
        return $this->callForwardOnFailure;
    }
    /**
     * Set callForwardOnFailure value
     * @param RCallForwardOnFailure $callForwardOnFailure
     * @return RLine
     */
    public function setCallForwardOnFailure(RCallForwardOnFailure $callForwardOnFailure = null)
    {
        $this->callForwardOnFailure = $callForwardOnFailure;
        return $this;
    }
    /**
     * Get callForwardAlternateParty value
     * @return RCallForwardAlternateParty|null
     */
    public function getCallForwardAlternateParty()
    {
        return $this->callForwardAlternateParty;
    }
    /**
     * Set callForwardAlternateParty value
     * @param RCallForwardAlternateParty $callForwardAlternateParty
     * @return RLine
     */
    public function setCallForwardAlternateParty(RCallForwardAlternateParty $callForwardAlternateParty = null)
    {
        $this->callForwardAlternateParty = $callForwardAlternateParty;
        return $this;
    }
    /**
     * Get callForwardNotRegistered value
     * @return RCallForwardNotRegistered|null
     */
    public function getCallForwardNotRegistered()
    {
        return $this->callForwardNotRegistered;
    }
    /**
     * Set callForwardNotRegistered value
     * @param RCallForwardNotRegistered $callForwardNotRegistered
     * @return RLine
     */
    public function setCallForwardNotRegistered(RCallForwardNotRegistered $callForwardNotRegistered = null)
    {
        $this->callForwardNotRegistered = $callForwardNotRegistered;
        return $this;
    }
    /**
     * Get callForwardNotRegisteredInt value
     * @return RCallForwardNotRegisteredInt|null
     */
    public function getCallForwardNotRegisteredInt()
    {
        return $this->callForwardNotRegisteredInt;
    }
    /**
     * Set callForwardNotRegisteredInt value
     * @param RCallForwardNotRegisteredInt $callForwardNotRegisteredInt
     * @return RLine
     */
    public function setCallForwardNotRegisteredInt(RCallForwardNotRegisteredInt $callForwardNotRegisteredInt = null)
    {
        $this->callForwardNotRegisteredInt = $callForwardNotRegisteredInt;
        return $this;
    }
    /**
     * Get callPickupGroupName value
     * @return XFkType|null
     */
    public function getCallPickupGroupName()
    {
        return $this->callPickupGroupName;
    }
    /**
     * Set callPickupGroupName value
     * @param XFkType $callPickupGroupName
     * @return RLine
     */
    public function setCallPickupGroupName(XFkType $callPickupGroupName = null)
    {
        $this->callPickupGroupName = $callPickupGroupName;
        return $this;
    }
    /**
     * Get autoAnswer value
     * @return string|null
     */
    public function getAutoAnswer()
    {
        return $this->autoAnswer;
    }
    /**
     * Set autoAnswer value
     * @uses XAutoAnswer::valueIsValid()
     * @uses XAutoAnswer::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $autoAnswer
     * @return RLine
     */
    public function setAutoAnswer($autoAnswer = null)
    {
        // validation for constraint: enumeration
        if (!XAutoAnswer::valueIsValid($autoAnswer)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $autoAnswer, implode(', ', XAutoAnswer::getValidValues())), __LINE__);
        }
        $this->autoAnswer = $autoAnswer;
        return $this;
    }
    /**
     * Get networkHoldMohAudioSourceId value
     * @return string|null
     */
    public function getNetworkHoldMohAudioSourceId()
    {
        return $this->networkHoldMohAudioSourceId;
    }
    /**
     * Set networkHoldMohAudioSourceId value
     * @uses XMOHAudioSourceId::valueIsValid()
     * @uses XMOHAudioSourceId::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $networkHoldMohAudioSourceId
     * @return RLine
     */
    public function setNetworkHoldMohAudioSourceId($networkHoldMohAudioSourceId = null)
    {
        // validation for constraint: enumeration
        if (!XMOHAudioSourceId::valueIsValid($networkHoldMohAudioSourceId)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $networkHoldMohAudioSourceId, implode(', ', XMOHAudioSourceId::getValidValues())), __LINE__);
        }
        $this->networkHoldMohAudioSourceId = $networkHoldMohAudioSourceId;
        return $this;
    }
    /**
     * Get userHoldMohAudioSourceId value
     * @return string|null
     */
    public function getUserHoldMohAudioSourceId()
    {
        return $this->userHoldMohAudioSourceId;
    }
    /**
     * Set userHoldMohAudioSourceId value
     * @uses XMOHAudioSourceId::valueIsValid()
     * @uses XMOHAudioSourceId::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $userHoldMohAudioSourceId
     * @return RLine
     */
    public function setUserHoldMohAudioSourceId($userHoldMohAudioSourceId = null)
    {
        // validation for constraint: enumeration
        if (!XMOHAudioSourceId::valueIsValid($userHoldMohAudioSourceId)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $userHoldMohAudioSourceId, implode(', ', XMOHAudioSourceId::getValidValues())), __LINE__);
        }
        $this->userHoldMohAudioSourceId = $userHoldMohAudioSourceId;
        return $this;
    }
    /**
     * Get alertingName value
     * @return string|null
     */
    public function getAlertingName()
    {
        return $this->alertingName;
    }
    /**
     * Set alertingName value
     * @param string $alertingName
     * @return RLine
     */
    public function setAlertingName($alertingName = null)
    {
        // validation for constraint: maxLength
        if ((is_scalar($alertingName) && strlen($alertingName) > 50) || (is_array($alertingName) && count($alertingName) > 50)) {
            throw new \InvalidArgumentException(sprintf('Invalid length, please provide an array with 50 element(s) or a scalar of 50 character(s) at most, "%d" length given', is_scalar($alertingName) ? strlen($alertingName) : count($alertingName)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($alertingName) && !is_string($alertingName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($alertingName)), __LINE__);
        }
        $this->alertingName = $alertingName;
        return $this;
    }
    /**
     * Get asciiAlertingName value
     * @return string|null
     */
    public function getAsciiAlertingName()
    {
        return $this->asciiAlertingName;
    }
    /**
     * Set asciiAlertingName value
     * @param string $asciiAlertingName
     * @return RLine
     */
    public function setAsciiAlertingName($asciiAlertingName = null)
    {
        // validation for constraint: maxLength
        if ((is_scalar($asciiAlertingName) && strlen($asciiAlertingName) > 32) || (is_array($asciiAlertingName) && count($asciiAlertingName) > 32)) {
            throw new \InvalidArgumentException(sprintf('Invalid length, please provide an array with 32 element(s) or a scalar of 32 character(s) at most, "%d" length given', is_scalar($asciiAlertingName) ? strlen($asciiAlertingName) : count($asciiAlertingName)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($asciiAlertingName) && !is_string($asciiAlertingName)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($asciiAlertingName)), __LINE__);
        }
        $this->asciiAlertingName = $asciiAlertingName;
        return $this;
    }
    /**
     * Get presenceGroupName value
     * @return XFkType|null
     */
    public function getPresenceGroupName()
    {
        return $this->presenceGroupName;
    }
    /**
     * Set presenceGroupName value
     * @param XFkType $presenceGroupName
     * @return RLine
     */
    public function setPresenceGroupName(XFkType $presenceGroupName = null)
    {
        $this->presenceGroupName = $presenceGroupName;
        return $this;
    }
    /**
     * Get shareLineAppearanceCssName value
     * @return XFkType|null
     */
    public function getShareLineAppearanceCssName()
    {
        return $this->shareLineAppearanceCssName;
    }
    /**
     * Set shareLineAppearanceCssName value
     * @param XFkType $shareLineAppearanceCssName
     * @return RLine
     */
    public function setShareLineAppearanceCssName(XFkType $shareLineAppearanceCssName = null)
    {
        $this->shareLineAppearanceCssName = $shareLineAppearanceCssName;
        return $this;
    }
    /**
     * Get voiceMailProfileName value
     * @return XFkType|null
     */
    public function getVoiceMailProfileName()
    {
        return $this->voiceMailProfileName;
    }
    /**
     * Set voiceMailProfileName value
     * @param XFkType $voiceMailProfileName
     * @return RLine
     */
    public function setVoiceMailProfileName(XFkType $voiceMailProfileName = null)
    {
        $this->voiceMailProfileName = $voiceMailProfileName;
        return $this;
    }
    /**
     * Get patternPrecedence value
     * @return string|null
     */
    public function getPatternPrecedence()
    {
        return $this->patternPrecedence;
    }
    /**
     * Set patternPrecedence value
     * @uses XPatternPrecedence::valueIsValid()
     * @uses XPatternPrecedence::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $patternPrecedence
     * @return RLine
     */
    public function setPatternPrecedence($patternPrecedence = null)
    {
        // validation for constraint: enumeration
        if (!XPatternPrecedence::valueIsValid($patternPrecedence)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $patternPrecedence, implode(', ', XPatternPrecedence::getValidValues())), __LINE__);
        }
        $this->patternPrecedence = $patternPrecedence;
        return $this;
    }
    /**
     * Get releaseClause value
     * @return string|null
     */
    public function getReleaseClause()
    {
        return $this->releaseClause;
    }
    /**
     * Set releaseClause value
     * @uses XReleaseCauseValue::valueIsValid()
     * @uses XReleaseCauseValue::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $releaseClause
     * @return RLine
     */
    public function setReleaseClause($releaseClause = null)
    {
        // validation for constraint: enumeration
        if (!XReleaseCauseValue::valueIsValid($releaseClause)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $releaseClause, implode(', ', XReleaseCauseValue::getValidValues())), __LINE__);
        }
        $this->releaseClause = $releaseClause;
        return $this;
    }
    /**
     * Get hrDuration value
     * @return string|null
     */
    public function getHrDuration()
    {
        return $this->hrDuration;
    }
    /**
     * Set hrDuration value
     * @uses XInteger::valueIsValid()
     * @uses XInteger::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $hrDuration
     * @return RLine
     */
    public function setHrDuration($hrDuration = null)
    {
        // validation for constraint: enumeration
        if (!XInteger::valueIsValid($hrDuration)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $hrDuration, implode(', ', XInteger::getValidValues())), __LINE__);
        }
        $this->hrDuration = $hrDuration;
        return $this;
    }
    /**
     * Get hrInterval value
     * @return string|null
     */
    public function getHrInterval()
    {
        return $this->hrInterval;
    }
    /**
     * Set hrInterval value
     * @uses XInteger::valueIsValid()
     * @uses XInteger::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $hrInterval
     * @return RLine
     */
    public function setHrInterval($hrInterval = null)
    {
        // validation for constraint: enumeration
        if (!XInteger::valueIsValid($hrInterval)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $hrInterval, implode(', ', XInteger::getValidValues())), __LINE__);
        }
        $this->hrInterval = $hrInterval;
        return $this;
    }
    /**
     * Get cfaCssPolicy value
     * @return string|null
     */
    public function getCfaCssPolicy()
    {
        return $this->cfaCssPolicy;
    }
    /**
     * Set cfaCssPolicy value
     * @uses XCFACSSActivationPolicy::valueIsValid()
     * @uses XCFACSSActivationPolicy::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $cfaCssPolicy
     * @return RLine
     */
    public function setCfaCssPolicy($cfaCssPolicy = null)
    {
        // validation for constraint: enumeration
        if (!XCFACSSActivationPolicy::valueIsValid($cfaCssPolicy)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $cfaCssPolicy, implode(', ', XCFACSSActivationPolicy::getValidValues())), __LINE__);
        }
        $this->cfaCssPolicy = $cfaCssPolicy;
        return $this;
    }
    /**
     * Get defaultActivatedDeviceName value
     * @return XFkType|null
     */
    public function getDefaultActivatedDeviceName()
    {
        return $this->defaultActivatedDeviceName;
    }
    /**
     * Set defaultActivatedDeviceName value
     * @param XFkType $defaultActivatedDeviceName
     * @return RLine
     */
    public function setDefaultActivatedDeviceName(XFkType $defaultActivatedDeviceName = null)
    {
        $this->defaultActivatedDeviceName = $defaultActivatedDeviceName;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveDn value
     * @return string|null
     */
    public function getParkMonForwardNoRetrieveDn()
    {
        return $this->parkMonForwardNoRetrieveDn;
    }
    /**
     * Set parkMonForwardNoRetrieveDn value
     * @param string $parkMonForwardNoRetrieveDn
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveDn($parkMonForwardNoRetrieveDn = null)
    {
        // validation for constraint: maxLength
        if ((is_scalar($parkMonForwardNoRetrieveDn) && strlen($parkMonForwardNoRetrieveDn) > 50) || (is_array($parkMonForwardNoRetrieveDn) && count($parkMonForwardNoRetrieveDn) > 50)) {
            throw new \InvalidArgumentException(sprintf('Invalid length, please provide an array with 50 element(s) or a scalar of 50 character(s) at most, "%d" length given', is_scalar($parkMonForwardNoRetrieveDn) ? strlen($parkMonForwardNoRetrieveDn) : count($parkMonForwardNoRetrieveDn)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($parkMonForwardNoRetrieveDn) && !is_string($parkMonForwardNoRetrieveDn)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($parkMonForwardNoRetrieveDn)), __LINE__);
        }
        $this->parkMonForwardNoRetrieveDn = $parkMonForwardNoRetrieveDn;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveIntDn value
     * @return string|null
     */
    public function getParkMonForwardNoRetrieveIntDn()
    {
        return $this->parkMonForwardNoRetrieveIntDn;
    }
    /**
     * Set parkMonForwardNoRetrieveIntDn value
     * @param string $parkMonForwardNoRetrieveIntDn
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveIntDn($parkMonForwardNoRetrieveIntDn = null)
    {
        // validation for constraint: maxLength
        if ((is_scalar($parkMonForwardNoRetrieveIntDn) && strlen($parkMonForwardNoRetrieveIntDn) > 50) || (is_array($parkMonForwardNoRetrieveIntDn) && count($parkMonForwardNoRetrieveIntDn) > 50)) {
            throw new \InvalidArgumentException(sprintf('Invalid length, please provide an array with 50 element(s) or a scalar of 50 character(s) at most, "%d" length given', is_scalar($parkMonForwardNoRetrieveIntDn) ? strlen($parkMonForwardNoRetrieveIntDn) : count($parkMonForwardNoRetrieveIntDn)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($parkMonForwardNoRetrieveIntDn) && !is_string($parkMonForwardNoRetrieveIntDn)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($parkMonForwardNoRetrieveIntDn)), __LINE__);
        }
        $this->parkMonForwardNoRetrieveIntDn = $parkMonForwardNoRetrieveIntDn;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveVmEnabled value
     * @return string|null
     */
    public function getParkMonForwardNoRetrieveVmEnabled()
    {
        return $this->parkMonForwardNoRetrieveVmEnabled;
    }
    /**
     * Set parkMonForwardNoRetrieveVmEnabled value
     * @param string $parkMonForwardNoRetrieveVmEnabled
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveVmEnabled($parkMonForwardNoRetrieveVmEnabled = null)
    {
        // validation for constraint: pattern
        if (is_scalar($parkMonForwardNoRetrieveVmEnabled) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $parkMonForwardNoRetrieveVmEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($parkMonForwardNoRetrieveVmEnabled, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($parkMonForwardNoRetrieveVmEnabled) && !is_string($parkMonForwardNoRetrieveVmEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($parkMonForwardNoRetrieveVmEnabled)), __LINE__);
        }
        $this->parkMonForwardNoRetrieveVmEnabled = $parkMonForwardNoRetrieveVmEnabled;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveIntVmEnabled value
     * @return string|null
     */
    public function getParkMonForwardNoRetrieveIntVmEnabled()
    {
        return $this->parkMonForwardNoRetrieveIntVmEnabled;
    }
    /**
     * Set parkMonForwardNoRetrieveIntVmEnabled value
     * @param string $parkMonForwardNoRetrieveIntVmEnabled
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveIntVmEnabled($parkMonForwardNoRetrieveIntVmEnabled = null)
    {
        // validation for constraint: pattern
        if (is_scalar($parkMonForwardNoRetrieveIntVmEnabled) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $parkMonForwardNoRetrieveIntVmEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($parkMonForwardNoRetrieveIntVmEnabled, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($parkMonForwardNoRetrieveIntVmEnabled) && !is_string($parkMonForwardNoRetrieveIntVmEnabled)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($parkMonForwardNoRetrieveIntVmEnabled)), __LINE__);
        }
        $this->parkMonForwardNoRetrieveIntVmEnabled = $parkMonForwardNoRetrieveIntVmEnabled;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveCssName value
     * @return XFkType|null
     */
    public function getParkMonForwardNoRetrieveCssName()
    {
        return $this->parkMonForwardNoRetrieveCssName;
    }
    /**
     * Set parkMonForwardNoRetrieveCssName value
     * @param XFkType $parkMonForwardNoRetrieveCssName
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveCssName(XFkType $parkMonForwardNoRetrieveCssName = null)
    {
        $this->parkMonForwardNoRetrieveCssName = $parkMonForwardNoRetrieveCssName;
        return $this;
    }
    /**
     * Get parkMonForwardNoRetrieveIntCssName value
     * @return XFkType|null
     */
    public function getParkMonForwardNoRetrieveIntCssName()
    {
        return $this->parkMonForwardNoRetrieveIntCssName;
    }
    /**
     * Set parkMonForwardNoRetrieveIntCssName value
     * @param XFkType $parkMonForwardNoRetrieveIntCssName
     * @return RLine
     */
    public function setParkMonForwardNoRetrieveIntCssName(XFkType $parkMonForwardNoRetrieveIntCssName = null)
    {
        $this->parkMonForwardNoRetrieveIntCssName = $parkMonForwardNoRetrieveIntCssName;
        return $this;
    }
    /**
     * Get parkMonReversionTimer value
     * @return string|null
     */
    public function getParkMonReversionTimer()
    {
        return $this->parkMonReversionTimer;
    }
    /**
     * Set parkMonReversionTimer value
     * @uses XInteger::valueIsValid()
     * @uses XInteger::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $parkMonReversionTimer
     * @return RLine
     */
    public function setParkMonReversionTimer($parkMonReversionTimer = null)
    {
        // validation for constraint: enumeration
        if (!XInteger::valueIsValid($parkMonReversionTimer)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $parkMonReversionTimer, implode(', ', XInteger::getValidValues())), __LINE__);
        }
        $this->parkMonReversionTimer = $parkMonReversionTimer;
        return $this;
    }
    /**
     * Get partyEntranceTone value
     * @return string|null
     */
    public function getPartyEntranceTone()
    {
        return $this->partyEntranceTone;
    }
    /**
     * Set partyEntranceTone value
     * @uses XStatus::valueIsValid()
     * @uses XStatus::getValidValues()
     * @throws \InvalidArgumentException
     * @param string $partyEntranceTone
     * @return RLine
     */
    public function setPartyEntranceTone($partyEntranceTone = null)
    {
        // validation for constraint: enumeration
        if (!XStatus::valueIsValid($partyEntranceTone)) {
            throw new \InvalidArgumentException(sprintf('Value "%s" is invalid, please use one of: %s', $partyEntranceTone, implode(', ', XStatus::getValidValues())), __LINE__);
        }
        $this->partyEntranceTone = $partyEntranceTone;
        return $this;
    }
    /**
     * Get directoryURIs value
     * @return DirectoryURIs|null
     */
    public function getDirectoryURIs()
    {
        return $this->directoryURIs;
    }
    /**
     * Set directoryURIs value
     * @param DirectoryURIs $directoryURIs
     * @return RLine
     */
    public function setDirectoryURIs(DirectoryURIs $directoryURIs = null)
    {
        $this->directoryURIs = $directoryURIs;
        return $this;
    }
    /**
     * Get allowCtiControlFlag value
     * @return string|null
     */
    public function getAllowCtiControlFlag()
    {
        return $this->allowCtiControlFlag;
    }
    /**
     * Set allowCtiControlFlag value
     * @param string $allowCtiControlFlag
     * @return RLine
     */
    public function setAllowCtiControlFlag($allowCtiControlFlag = null)
    {
        // validation for constraint: pattern
        if (is_scalar($allowCtiControlFlag) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $allowCtiControlFlag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($allowCtiControlFlag, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($allowCtiControlFlag) && !is_string($allowCtiControlFlag)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($allowCtiControlFlag)), __LINE__);
        }
        $this->allowCtiControlFlag = $allowCtiControlFlag;
        return $this;
    }
    /**
     * Get rejectAnonymousCall value
     * @return string|null
     */
    public function getRejectAnonymousCall()
    {
        return $this->rejectAnonymousCall;
    }
    /**
     * Set rejectAnonymousCall value
     * @param string $rejectAnonymousCall
     * @return RLine
     */
    public function setRejectAnonymousCall($rejectAnonymousCall = null)
    {
        // validation for constraint: pattern
        if (is_scalar($rejectAnonymousCall) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $rejectAnonymousCall)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($rejectAnonymousCall, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($rejectAnonymousCall) && !is_string($rejectAnonymousCall)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($rejectAnonymousCall)), __LINE__);
        }
        $this->rejectAnonymousCall = $rejectAnonymousCall;
        return $this;
    }
    /**
     * Get patternUrgency value
     * @return string|null
     */
    public function getPatternUrgency()
    {
        return $this->patternUrgency;
    }
    /**
     * Set patternUrgency value
     * @param string $patternUrgency
     * @return RLine
     */
    public function setPatternUrgency($patternUrgency = null)
    {
        // validation for constraint: pattern
        if (is_scalar($patternUrgency) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $patternUrgency)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($patternUrgency, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($patternUrgency) && !is_string($patternUrgency)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($patternUrgency)), __LINE__);
        }
        $this->patternUrgency = $patternUrgency;
        return $this;
    }
    /**
     * Get confidentialAccess value
     * @return ConfidentialAccess|null
     */
    public function getConfidentialAccess()
    {
        return $this->confidentialAccess;
    }
    /**
     * Set confidentialAccess value
     * @param ConfidentialAccess $confidentialAccess
     * @return RLine
     */
    public function setConfidentialAccess(ConfidentialAccess $confidentialAccess = null)
    {
        $this->confidentialAccess = $confidentialAccess;
        return $this;
    }
    /**
     * Get externalCallControlProfile value
     * @return XFkType|null
     */
    public function getExternalCallControlProfile()
    {
        return $this->externalCallControlProfile;
    }
    /**
     * Set externalCallControlProfile value
     * @param XFkType $externalCallControlProfile
     * @return RLine
     */
    public function setExternalCallControlProfile(XFkType $externalCallControlProfile = null)
    {
        $this->externalCallControlProfile = $externalCallControlProfile;
        return $this;
    }
    /**
     * Get enterpriseAltNum value
     * @return EnterpriseAltNum|null
     */
    public function getEnterpriseAltNum()
    {
        return $this->enterpriseAltNum;
    }
    /**
     * Set enterpriseAltNum value
     * @param EnterpriseAltNum $enterpriseAltNum
     * @return RLine
     */
    public function setEnterpriseAltNum(EnterpriseAltNum $enterpriseAltNum = null)
    {
        $this->enterpriseAltNum = $enterpriseAltNum;
        return $this;
    }
    /**
     * Get e164AltNum value
     * @return E164AltNum|null
     */
    public function getE164AltNum()
    {
        return $this->e164AltNum;
    }
    /**
     * Set e164AltNum value
     * @param E164AltNum $e164AltNum
     * @return RLine
     */
    public function setE164AltNum(E164AltNum $e164AltNum = null)
    {
        $this->e164AltNum = $e164AltNum;
        return $this;
    }
    /**
     * Get pstnFailover value
     * @return string|null
     */
    public function getPstnFailover()
    {
        return $this->pstnFailover;
    }
    /**
     * Set pstnFailover value
     * @param string $pstnFailover
     * @return RLine
     */
    public function setPstnFailover($pstnFailover = null)
    {
        // validation for constraint: string
        if (!is_null($pstnFailover) && !is_string($pstnFailover)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($pstnFailover)), __LINE__);
        }
        $this->pstnFailover = $pstnFailover;
        return $this;
    }
    /**
     * Get callControlAgentProfile value
     * @return string|null
     */
    public function getCallControlAgentProfile()
    {
        return $this->callControlAgentProfile;
    }
    /**
     * Set callControlAgentProfile value
     * @param string $callControlAgentProfile
     * @return RLine
     */
    public function setCallControlAgentProfile($callControlAgentProfile = null)
    {
        // validation for constraint: string
        if (!is_null($callControlAgentProfile) && !is_string($callControlAgentProfile)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($callControlAgentProfile)), __LINE__);
        }
        $this->callControlAgentProfile = $callControlAgentProfile;
        return $this;
    }
    /**
     * Get associatedDevices value
     * @return AssociatedDevices|null
     */
    public function getAssociatedDevices()
    {
        return $this->associatedDevices;
    }
    /**
     * Set associatedDevices value
     * @param AssociatedDevices $associatedDevices
     * @return RLine
     */
    public function setAssociatedDevices(AssociatedDevices $associatedDevices = null)
    {
        $this->associatedDevices = $associatedDevices;
        return $this;
    }
    /**
     * Get useEnterpriseAltNum value
     * @return string|null
     */
    public function getUseEnterpriseAltNum()
    {
        return $this->useEnterpriseAltNum;
    }
    /**
     * Set useEnterpriseAltNum value
     * @param string $useEnterpriseAltNum
     * @return RLine
     */
    public function setUseEnterpriseAltNum($useEnterpriseAltNum = null)
    {
        // validation for constraint: pattern
        if (is_scalar($useEnterpriseAltNum) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $useEnterpriseAltNum)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($useEnterpriseAltNum, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($useEnterpriseAltNum) && !is_string($useEnterpriseAltNum)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($useEnterpriseAltNum)), __LINE__);
        }
        $this->useEnterpriseAltNum = $useEnterpriseAltNum;
        return $this;
    }
    /**
     * Get useE164AltNum value
     * @return string|null
     */
    public function getUseE164AltNum()
    {
        return $this->useE164AltNum;
    }
    /**
     * Set useE164AltNum value
     * @param string $useE164AltNum
     * @return RLine
     */
    public function setUseE164AltNum($useE164AltNum = null)
    {
        // validation for constraint: pattern
        if (is_scalar($useE164AltNum) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $useE164AltNum)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($useE164AltNum, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($useE164AltNum) && !is_string($useE164AltNum)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($useE164AltNum)), __LINE__);
        }
        $this->useE164AltNum = $useE164AltNum;
        return $this;
    }
    /**
     * Get active value
     * @return string|null
     */
    public function getActive()
    {
        return $this->active;
    }
    /**
     * Set active value
     * @param string $active
     * @return RLine
     */
    public function setActive($active = null)
    {
        // validation for constraint: pattern
        if (is_scalar($active) && !preg_match('/(t)|(f)|(true)|(false)|(0)|(1)/', $active)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "(t)|(f)|(true)|(false)|(0)|(1)", "%s" given', var_export($active, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($active) && !is_string($active)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($active)), __LINE__);
        }
        $this->active = $active;
        return $this;
    }
    /**
     * Get uuid value
     * @return string|null
     */
    public function getUuid()
    {
        return $this->uuid;
    }
    /**
     * Set uuid value
     * @param string $uuid
     * @return RLine
     */
    public function setUuid($uuid = null)
    {
        // validation for constraint: pattern
        if (is_scalar($uuid) && !preg_match('/\{........-....-....-....-............\}/', $uuid)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a scalar value that matches "\{........-....-....-....-............\}", "%s" given', var_export($uuid, true)), __LINE__);
        }
        // validation for constraint: string
        if (!is_null($uuid) && !is_string($uuid)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($uuid)), __LINE__);
        }
        $this->uuid = $uuid;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return RLine
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
