<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for RCredentialPolicyDefault StructType
 * @subpackage Structs
 */
class RCredentialPolicyDefault extends AbstractStructBase
{
    /**
     * The credentialUser
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $credentialUser;
    /**
     * The credentialType
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $credentialType;
    /**
     * The credPolicyName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $credPolicyName;
    /**
     * The credentials
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $credentials;
    /**
     * The confirmCredentials
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var string
     */
    public $confirmCredentials;
    /**
     * The credUserCantChange
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $credUserCantChange;
    /**
     * The credUserMustChange
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $credUserMustChange;
    /**
     * The credDoesNotExpire
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $credDoesNotExpire;
    /**
     * Constructor method for RCredentialPolicyDefault
     * @uses RCredentialPolicyDefault::setCredentialUser()
     * @uses RCredentialPolicyDefault::setCredentialType()
     * @uses RCredentialPolicyDefault::setCredPolicyName()
     * @uses RCredentialPolicyDefault::setCredentials()
     * @uses RCredentialPolicyDefault::setConfirmCredentials()
     * @uses RCredentialPolicyDefault::setCredUserCantChange()
     * @uses RCredentialPolicyDefault::setCredUserMustChange()
     * @uses RCredentialPolicyDefault::setCredDoesNotExpire()
     * @param string $credentialUser
     * @param string $credentialType
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $credPolicyName
     * @param string $credentials
     * @param string $confirmCredentials
     * @param string $credUserCantChange
     * @param string $credUserMustChange
     * @param string $credDoesNotExpire
     */
    public function __construct($credentialUser = null, $credentialType = null, \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $credPolicyName = null, $credentials = null, $confirmCredentials = null, $credUserCantChange = null, $credUserMustChange = null, $credDoesNotExpire = null)
    {
        $this
            ->setCredentialUser($credentialUser)
            ->setCredentialType($credentialType)
            ->setCredPolicyName($credPolicyName)
            ->setCredentials($credentials)
            ->setConfirmCredentials($confirmCredentials)
            ->setCredUserCantChange($credUserCantChange)
            ->setCredUserMustChange($credUserMustChange)
            ->setCredDoesNotExpire($credDoesNotExpire);
    }
    /**
     * Get credentialUser value
     * @return string|null
     */
    public function getCredentialUser()
    {
        return $this->credentialUser;
    }
    /**
     * Set credentialUser value
     * @param string $credentialUser
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredentialUser($credentialUser = null)
    {
        $this->credentialUser = $credentialUser;
        return $this;
    }
    /**
     * Get credentialType value
     * @return string|null
     */
    public function getCredentialType()
    {
        return $this->credentialType;
    }
    /**
     * Set credentialType value
     * @param string $credentialType
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredentialType($credentialType = null)
    {
        $this->credentialType = $credentialType;
        return $this;
    }
    /**
     * Get credPolicyName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getCredPolicyName()
    {
        return $this->credPolicyName;
    }
    /**
     * Set credPolicyName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $credPolicyName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredPolicyName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $credPolicyName = null)
    {
        $this->credPolicyName = $credPolicyName;
        return $this;
    }
    /**
     * Get credentials value
     * @return string|null
     */
    public function getCredentials()
    {
        return $this->credentials;
    }
    /**
     * Set credentials value
     * @param string $credentials
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredentials($credentials = null)
    {
        $this->credentials = $credentials;
        return $this;
    }
    /**
     * Get confirmCredentials value
     * @return string|null
     */
    public function getConfirmCredentials()
    {
        return $this->confirmCredentials;
    }
    /**
     * Set confirmCredentials value
     * @param string $confirmCredentials
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setConfirmCredentials($confirmCredentials = null)
    {
        $this->confirmCredentials = $confirmCredentials;
        return $this;
    }
    /**
     * Get credUserCantChange value
     * @return string|null
     */
    public function getCredUserCantChange()
    {
        return $this->credUserCantChange;
    }
    /**
     * Set credUserCantChange value
     * @param string $credUserCantChange
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredUserCantChange($credUserCantChange = null)
    {
        $this->credUserCantChange = $credUserCantChange;
        return $this;
    }
    /**
     * Get credUserMustChange value
     * @return string|null
     */
    public function getCredUserMustChange()
    {
        return $this->credUserMustChange;
    }
    /**
     * Set credUserMustChange value
     * @param string $credUserMustChange
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredUserMustChange($credUserMustChange = null)
    {
        $this->credUserMustChange = $credUserMustChange;
        return $this;
    }
    /**
     * Get credDoesNotExpire value
     * @return string|null
     */
    public function getCredDoesNotExpire()
    {
        return $this->credDoesNotExpire;
    }
    /**
     * Set credDoesNotExpire value
     * @param string $credDoesNotExpire
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\RCredentialPolicyDefault
     */
    public function setCredDoesNotExpire($credDoesNotExpire = null)
    {
        $this->credDoesNotExpire = $credDoesNotExpire;
        return $this;
    }
}
