<?php

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

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for XLdapAuthentication StructType
 * @subpackage Structs
 */
class XLdapAuthentication extends AbstractStructBase
{
    /**
     * The authenticateEndUsers
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - minOccurs: 0
     * - nillable: false
     * - pattern: (t)|(f)|(true)|(false)|(0)|(1)
     * @var string
     */
    public $authenticateEndUsers;
    /**
     * The distinguishedName
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 128
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $distinguishedName;
    /**
     * The ldapPassword
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 128
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $ldapPassword;
    /**
     * The userSearchBase
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - maxLength: 255
     * - minOccurs: 0
     * - nillable: false
     * @var string
     */
    public $userSearchBase;
    /**
     * The servers
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var \\Losc\CucmBundle\Model\Webservice\StructType\Servers
     */
    public $servers;
    /**
     * The uuid
     * Meta information extracted from the WSDL
     * - base: xsd:string
     * - pattern: \{........-....-....-....-............\}
     * @var string
     */
    public $uuid;
    /**
     * Constructor method for XLdapAuthentication
     * @uses XLdapAuthentication::setAuthenticateEndUsers()
     * @uses XLdapAuthentication::setDistinguishedName()
     * @uses XLdapAuthentication::setLdapPassword()
     * @uses XLdapAuthentication::setUserSearchBase()
     * @uses XLdapAuthentication::setServers()
     * @uses XLdapAuthentication::setUuid()
     * @param string $authenticateEndUsers
     * @param string $distinguishedName
     * @param string $ldapPassword
     * @param string $userSearchBase
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\Servers $servers
     * @param string $uuid
     */
    public function __construct($authenticateEndUsers = null, $distinguishedName = null, $ldapPassword = null, $userSearchBase = null, \\Losc\CucmBundle\Model\Webservice\StructType\Servers $servers = null, $uuid = null)
    {
        $this
            ->setAuthenticateEndUsers($authenticateEndUsers)
            ->setDistinguishedName($distinguishedName)
            ->setLdapPassword($ldapPassword)
            ->setUserSearchBase($userSearchBase)
            ->setServers($servers)
            ->setUuid($uuid);
    }
    /**
     * Get authenticateEndUsers value
     * @return string|null
     */
    public function getAuthenticateEndUsers()
    {
        return $this->authenticateEndUsers;
    }
    /**
     * Set authenticateEndUsers value
     * @param string $authenticateEndUsers
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLdapAuthentication
     */
    public function setAuthenticateEndUsers($authenticateEndUsers = null)
    {
        $this->authenticateEndUsers = $authenticateEndUsers;
        return $this;
    }
    /**
     * Get distinguishedName value
     * @return string|null
     */
    public function getDistinguishedName()
    {
        return $this->distinguishedName;
    }
    /**
     * Set distinguishedName value
     * @param string $distinguishedName
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLdapAuthentication
     */
    public function setDistinguishedName($distinguishedName = null)
    {
        $this->distinguishedName = $distinguishedName;
        return $this;
    }
    /**
     * Get ldapPassword value
     * @return string|null
     */
    public function getLdapPassword()
    {
        return $this->ldapPassword;
    }
    /**
     * Set ldapPassword value
     * @param string $ldapPassword
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLdapAuthentication
     */
    public function setLdapPassword($ldapPassword = null)
    {
        $this->ldapPassword = $ldapPassword;
        return $this;
    }
    /**
     * Get userSearchBase value
     * @return string|null
     */
    public function getUserSearchBase()
    {
        return $this->userSearchBase;
    }
    /**
     * Set userSearchBase value
     * @param string $userSearchBase
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLdapAuthentication
     */
    public function setUserSearchBase($userSearchBase = null)
    {
        $this->userSearchBase = $userSearchBase;
        return $this;
    }
    /**
     * Get servers value
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\Servers|null
     */
    public function getServers()
    {
        return $this->servers;
    }
    /**
     * Set servers value
     * @param \\Losc\CucmBundle\Model\Webservice\StructType\Servers $servers
     * @return \\Losc\CucmBundle\Model\Webservice\StructType\XLdapAuthentication
     */
    public function setServers(\\Losc\CucmBundle\Model\Webservice\StructType\Servers $servers = null)
    {
        $this->servers = $servers;
        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\XLdapAuthentication
     */
    public function setUuid($uuid = null)
    {
        $this->uuid = $uuid;
        return $this;
    }
}
