<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for pinCredentials StructType
 * Meta information extracted from the WSDL
 * - documentation: Not Applicable for add. These groups get automatically added once an user is added.
 * @subpackage Structs
 */
class PinCredentials extends AbstractStructBase
{
    /**
     * The pinCredPolicyName
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\XFkType
     */
    public $pinCredPolicyName;
    /**
     * The pinCredUserCantChange
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $pinCredUserCantChange;
    /**
     * The pinCredUserMustChange
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $pinCredUserMustChange;
    /**
     * The pinCredDoesNotExpire
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $pinCredDoesNotExpire;
    /**
     * The pinCredTimeChanged
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: false
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $pinCredTimeChanged;
    /**
     * The pinCredTimeAdminLockout
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $pinCredTimeAdminLockout;
    /**
     * The pinCredLockedByAdministrator
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxOccurs: 1
     * - minOccurs: 0
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $pinCredLockedByAdministrator;
    /**
     * Constructor method for pinCredentials
     * @uses PinCredentials::setPinCredPolicyName()
     * @uses PinCredentials::setPinCredUserCantChange()
     * @uses PinCredentials::setPinCredUserMustChange()
     * @uses PinCredentials::setPinCredDoesNotExpire()
     * @uses PinCredentials::setPinCredTimeChanged()
     * @uses PinCredentials::setPinCredTimeAdminLockout()
     * @uses PinCredentials::setPinCredLockedByAdministrator()
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $pinCredPolicyName
     * @param string $pinCredUserCantChange
     * @param string $pinCredUserMustChange
     * @param string $pinCredDoesNotExpire
     * @param string $pinCredTimeChanged
     * @param string $pinCredTimeAdminLockout
     * @param string $pinCredLockedByAdministrator
     */
    public function __construct(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $pinCredPolicyName = null, $pinCredUserCantChange = null, $pinCredUserMustChange = null, $pinCredDoesNotExpire = null, $pinCredTimeChanged = null, $pinCredTimeAdminLockout = null, $pinCredLockedByAdministrator = null)
    {
        $this
            ->setPinCredPolicyName($pinCredPolicyName)
            ->setPinCredUserCantChange($pinCredUserCantChange)
            ->setPinCredUserMustChange($pinCredUserMustChange)
            ->setPinCredDoesNotExpire($pinCredDoesNotExpire)
            ->setPinCredTimeChanged($pinCredTimeChanged)
            ->setPinCredTimeAdminLockout($pinCredTimeAdminLockout)
            ->setPinCredLockedByAdministrator($pinCredLockedByAdministrator);
    }
    /**
     * Get pinCredPolicyName value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XFkType|null
     */
    public function getPinCredPolicyName()
    {
        return $this->pinCredPolicyName;
    }
    /**
     * Set pinCredPolicyName value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\XFkType $pinCredPolicyName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredPolicyName(\\Losc\CucmBundle\Model\Webservice\StructType\XFkType $pinCredPolicyName = null)
    {
        $this->pinCredPolicyName = $pinCredPolicyName;
        return $this;
    }
    /**
     * Get pinCredUserCantChange value
     * @return string|null
     */
    public function getPinCredUserCantChange()
    {
        return $this->pinCredUserCantChange;
    }
    /**
     * Set pinCredUserCantChange value
     * @param string $pinCredUserCantChange
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredUserCantChange($pinCredUserCantChange = null)
    {
        $this->pinCredUserCantChange = $pinCredUserCantChange;
        return $this;
    }
    /**
     * Get pinCredUserMustChange value
     * @return string|null
     */
    public function getPinCredUserMustChange()
    {
        return $this->pinCredUserMustChange;
    }
    /**
     * Set pinCredUserMustChange value
     * @param string $pinCredUserMustChange
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredUserMustChange($pinCredUserMustChange = null)
    {
        $this->pinCredUserMustChange = $pinCredUserMustChange;
        return $this;
    }
    /**
     * Get pinCredDoesNotExpire value
     * @return string|null
     */
    public function getPinCredDoesNotExpire()
    {
        return $this->pinCredDoesNotExpire;
    }
    /**
     * Set pinCredDoesNotExpire value
     * @param string $pinCredDoesNotExpire
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredDoesNotExpire($pinCredDoesNotExpire = null)
    {
        $this->pinCredDoesNotExpire = $pinCredDoesNotExpire;
        return $this;
    }
    /**
     * Get pinCredTimeChanged value
     * @return string|null
     */
    public function getPinCredTimeChanged()
    {
        return $this->pinCredTimeChanged;
    }
    /**
     * Set pinCredTimeChanged value
     * @param string $pinCredTimeChanged
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredTimeChanged($pinCredTimeChanged = null)
    {
        $this->pinCredTimeChanged = $pinCredTimeChanged;
        return $this;
    }
    /**
     * Get pinCredTimeAdminLockout value
     * @return string|null
     */
    public function getPinCredTimeAdminLockout()
    {
        return $this->pinCredTimeAdminLockout;
    }
    /**
     * Set pinCredTimeAdminLockout value
     * @param string $pinCredTimeAdminLockout
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredTimeAdminLockout($pinCredTimeAdminLockout = null)
    {
        $this->pinCredTimeAdminLockout = $pinCredTimeAdminLockout;
        return $this;
    }
    /**
     * Get pinCredLockedByAdministrator value
     * @return string|null
     */
    public function getPinCredLockedByAdministrator()
    {
        return $this->pinCredLockedByAdministrator;
    }
    /**
     * Set pinCredLockedByAdministrator value
     * @param string $pinCredLockedByAdministrator
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\PinCredentials
     */
    public function setPinCredLockedByAdministrator($pinCredLockedByAdministrator = null)
    {
        $this->pinCredLockedByAdministrator = $pinCredLockedByAdministrator;
        return $this;
    }
}
