<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for VendedoresERP StructType
 * Meta informations extracted from the WSDL
 * - nillable: true
 * - type: tns:VendedoresERP
 * @subpackage Structs
 */
class VendedoresERP extends AbstractStructBase
{
    /**
     * The Actividade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Actividade;
    /**
     * The CDU_Distrito
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Distrito;
    /**
     * The CDU_ExtensaoFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_ExtensaoFoto;
    /**
     * The CDU_FacebookToken
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_FacebookToken;
    /**
     * The CDU_Foto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Foto;
    /**
     * The CDU_GoogleToken
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_GoogleToken;
    /**
     * The CDU_Morada2
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Morada2;
    /**
     * The CDU_Newsletter
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var bool
     */
    public $CDU_Newsletter;
    /**
     * The CDU_NomeFoto
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_NomeFoto;
    /**
     * The CDU_NumContrib
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_NumContrib;
    /**
     * The CDU_Pais
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Pais;
    /**
     * The CDU_Password
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Password;
    /**
     * The CDU_PontosCartao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var int
     */
    public $CDU_PontosCartao;
    /**
     * The CDU_Role
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Role;
    /**
     * The CDU_Username
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CDU_Username;
    /**
     * The CPostal
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CPostal;
    /**
     * The Comissao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $Comissao;
    /**
     * The ComissaoLiquidacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var float
     */
    public $ComissaoLiquidacao;
    /**
     * The CpLocalidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $CpLocalidade;
    /**
     * The DataUltimaActualizacao
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $DataUltimaActualizacao;
    /**
     * The DisponivelEmPMS
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $DisponivelEmPMS;
    /**
     * The EMail
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EMail;
    /**
     * The Entidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Entidade;
    /**
     * The Fax
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Fax;
    /**
     * The Localidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Localidade;
    /**
     * The Moeda
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Moeda;
    /**
     * The Morada
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Morada;
    /**
     * The Nome
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Nome;
    /**
     * The Notas
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Notas;
    /**
     * The Protegida
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var bool
     */
    public $Protegida;
    /**
     * The Telefone
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Telefone;
    /**
     * The Telemovel
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Telemovel;
    /**
     * The TipoEntidade
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $TipoEntidade;
    /**
     * The Vendedor
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Vendedor;
    /**
     * The VersaoUltAct
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $VersaoUltAct;
    /**
     * Constructor method for VendedoresERP
     * @uses VendedoresERP::setActividade()
     * @uses VendedoresERP::setCDU_Distrito()
     * @uses VendedoresERP::setCDU_ExtensaoFoto()
     * @uses VendedoresERP::setCDU_FacebookToken()
     * @uses VendedoresERP::setCDU_Foto()
     * @uses VendedoresERP::setCDU_GoogleToken()
     * @uses VendedoresERP::setCDU_Morada2()
     * @uses VendedoresERP::setCDU_Newsletter()
     * @uses VendedoresERP::setCDU_NomeFoto()
     * @uses VendedoresERP::setCDU_NumContrib()
     * @uses VendedoresERP::setCDU_Pais()
     * @uses VendedoresERP::setCDU_Password()
     * @uses VendedoresERP::setCDU_PontosCartao()
     * @uses VendedoresERP::setCDU_Role()
     * @uses VendedoresERP::setCDU_Username()
     * @uses VendedoresERP::setCPostal()
     * @uses VendedoresERP::setComissao()
     * @uses VendedoresERP::setComissaoLiquidacao()
     * @uses VendedoresERP::setCpLocalidade()
     * @uses VendedoresERP::setDataUltimaActualizacao()
     * @uses VendedoresERP::setDisponivelEmPMS()
     * @uses VendedoresERP::setEMail()
     * @uses VendedoresERP::setEntidade()
     * @uses VendedoresERP::setFax()
     * @uses VendedoresERP::setLocalidade()
     * @uses VendedoresERP::setMoeda()
     * @uses VendedoresERP::setMorada()
     * @uses VendedoresERP::setNome()
     * @uses VendedoresERP::setNotas()
     * @uses VendedoresERP::setProtegida()
     * @uses VendedoresERP::setTelefone()
     * @uses VendedoresERP::setTelemovel()
     * @uses VendedoresERP::setTipoEntidade()
     * @uses VendedoresERP::setVendedor()
     * @uses VendedoresERP::setVersaoUltAct()
     * @param string $actividade
     * @param string $cDU_Distrito
     * @param string $cDU_ExtensaoFoto
     * @param string $cDU_FacebookToken
     * @param string $cDU_Foto
     * @param string $cDU_GoogleToken
     * @param string $cDU_Morada2
     * @param bool $cDU_Newsletter
     * @param string $cDU_NomeFoto
     * @param string $cDU_NumContrib
     * @param string $cDU_Pais
     * @param string $cDU_Password
     * @param int $cDU_PontosCartao
     * @param string $cDU_Role
     * @param string $cDU_Username
     * @param string $cPostal
     * @param float $comissao
     * @param float $comissaoLiquidacao
     * @param string $cpLocalidade
     * @param string $dataUltimaActualizacao
     * @param bool $disponivelEmPMS
     * @param string $eMail
     * @param string $entidade
     * @param string $fax
     * @param string $localidade
     * @param string $moeda
     * @param string $morada
     * @param string $nome
     * @param string $notas
     * @param bool $protegida
     * @param string $telefone
     * @param string $telemovel
     * @param string $tipoEntidade
     * @param string $vendedor
     * @param string $versaoUltAct
     */
    public function __construct($actividade = null, $cDU_Distrito = null, $cDU_ExtensaoFoto = null, $cDU_FacebookToken = null, $cDU_Foto = null, $cDU_GoogleToken = null, $cDU_Morada2 = null, $cDU_Newsletter = null, $cDU_NomeFoto = null, $cDU_NumContrib = null, $cDU_Pais = null, $cDU_Password = null, $cDU_PontosCartao = null, $cDU_Role = null, $cDU_Username = null, $cPostal = null, $comissao = null, $comissaoLiquidacao = null, $cpLocalidade = null, $dataUltimaActualizacao = null, $disponivelEmPMS = null, $eMail = null, $entidade = null, $fax = null, $localidade = null, $moeda = null, $morada = null, $nome = null, $notas = null, $protegida = null, $telefone = null, $telemovel = null, $tipoEntidade = null, $vendedor = null, $versaoUltAct = null)
    {
        $this
            ->setActividade($actividade)
            ->setCDU_Distrito($cDU_Distrito)
            ->setCDU_ExtensaoFoto($cDU_ExtensaoFoto)
            ->setCDU_FacebookToken($cDU_FacebookToken)
            ->setCDU_Foto($cDU_Foto)
            ->setCDU_GoogleToken($cDU_GoogleToken)
            ->setCDU_Morada2($cDU_Morada2)
            ->setCDU_Newsletter($cDU_Newsletter)
            ->setCDU_NomeFoto($cDU_NomeFoto)
            ->setCDU_NumContrib($cDU_NumContrib)
            ->setCDU_Pais($cDU_Pais)
            ->setCDU_Password($cDU_Password)
            ->setCDU_PontosCartao($cDU_PontosCartao)
            ->setCDU_Role($cDU_Role)
            ->setCDU_Username($cDU_Username)
            ->setCPostal($cPostal)
            ->setComissao($comissao)
            ->setComissaoLiquidacao($comissaoLiquidacao)
            ->setCpLocalidade($cpLocalidade)
            ->setDataUltimaActualizacao($dataUltimaActualizacao)
            ->setDisponivelEmPMS($disponivelEmPMS)
            ->setEMail($eMail)
            ->setEntidade($entidade)
            ->setFax($fax)
            ->setLocalidade($localidade)
            ->setMoeda($moeda)
            ->setMorada($morada)
            ->setNome($nome)
            ->setNotas($notas)
            ->setProtegida($protegida)
            ->setTelefone($telefone)
            ->setTelemovel($telemovel)
            ->setTipoEntidade($tipoEntidade)
            ->setVendedor($vendedor)
            ->setVersaoUltAct($versaoUltAct);
    }
    /**
     * Get Actividade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getActividade()
    {
        return isset($this->Actividade) ? $this->Actividade : null;
    }
    /**
     * Set Actividade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $actividade
     * @return \StructType\VendedoresERP
     */
    public function setActividade($actividade = null)
    {
        // validation for constraint: string
        if (!is_null($actividade) && !is_string($actividade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($actividade)), __LINE__);
        }
        if (is_null($actividade) || (is_array($actividade) && empty($actividade))) {
            unset($this->Actividade);
        } else {
            $this->Actividade = $actividade;
        }
        return $this;
    }
    /**
     * Get CDU_Distrito value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Distrito()
    {
        return isset($this->CDU_Distrito) ? $this->CDU_Distrito : null;
    }
    /**
     * Set CDU_Distrito value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Distrito
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Distrito($cDU_Distrito = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Distrito) && !is_string($cDU_Distrito)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Distrito)), __LINE__);
        }
        if (is_null($cDU_Distrito) || (is_array($cDU_Distrito) && empty($cDU_Distrito))) {
            unset($this->CDU_Distrito);
        } else {
            $this->CDU_Distrito = $cDU_Distrito;
        }
        return $this;
    }
    /**
     * Get CDU_ExtensaoFoto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_ExtensaoFoto()
    {
        return isset($this->CDU_ExtensaoFoto) ? $this->CDU_ExtensaoFoto : null;
    }
    /**
     * Set CDU_ExtensaoFoto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_ExtensaoFoto
     * @return \StructType\VendedoresERP
     */
    public function setCDU_ExtensaoFoto($cDU_ExtensaoFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_ExtensaoFoto) && !is_string($cDU_ExtensaoFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_ExtensaoFoto)), __LINE__);
        }
        if (is_null($cDU_ExtensaoFoto) || (is_array($cDU_ExtensaoFoto) && empty($cDU_ExtensaoFoto))) {
            unset($this->CDU_ExtensaoFoto);
        } else {
            $this->CDU_ExtensaoFoto = $cDU_ExtensaoFoto;
        }
        return $this;
    }
    /**
     * Get CDU_FacebookToken value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_FacebookToken()
    {
        return isset($this->CDU_FacebookToken) ? $this->CDU_FacebookToken : null;
    }
    /**
     * Set CDU_FacebookToken value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_FacebookToken
     * @return \StructType\VendedoresERP
     */
    public function setCDU_FacebookToken($cDU_FacebookToken = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_FacebookToken) && !is_string($cDU_FacebookToken)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_FacebookToken)), __LINE__);
        }
        if (is_null($cDU_FacebookToken) || (is_array($cDU_FacebookToken) && empty($cDU_FacebookToken))) {
            unset($this->CDU_FacebookToken);
        } else {
            $this->CDU_FacebookToken = $cDU_FacebookToken;
        }
        return $this;
    }
    /**
     * Get CDU_Foto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Foto()
    {
        return isset($this->CDU_Foto) ? $this->CDU_Foto : null;
    }
    /**
     * Set CDU_Foto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Foto
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Foto($cDU_Foto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Foto) && !is_string($cDU_Foto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Foto)), __LINE__);
        }
        if (is_null($cDU_Foto) || (is_array($cDU_Foto) && empty($cDU_Foto))) {
            unset($this->CDU_Foto);
        } else {
            $this->CDU_Foto = $cDU_Foto;
        }
        return $this;
    }
    /**
     * Get CDU_GoogleToken value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_GoogleToken()
    {
        return isset($this->CDU_GoogleToken) ? $this->CDU_GoogleToken : null;
    }
    /**
     * Set CDU_GoogleToken value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_GoogleToken
     * @return \StructType\VendedoresERP
     */
    public function setCDU_GoogleToken($cDU_GoogleToken = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_GoogleToken) && !is_string($cDU_GoogleToken)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_GoogleToken)), __LINE__);
        }
        if (is_null($cDU_GoogleToken) || (is_array($cDU_GoogleToken) && empty($cDU_GoogleToken))) {
            unset($this->CDU_GoogleToken);
        } else {
            $this->CDU_GoogleToken = $cDU_GoogleToken;
        }
        return $this;
    }
    /**
     * Get CDU_Morada2 value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Morada2()
    {
        return isset($this->CDU_Morada2) ? $this->CDU_Morada2 : null;
    }
    /**
     * Set CDU_Morada2 value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Morada2
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Morada2($cDU_Morada2 = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Morada2) && !is_string($cDU_Morada2)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Morada2)), __LINE__);
        }
        if (is_null($cDU_Morada2) || (is_array($cDU_Morada2) && empty($cDU_Morada2))) {
            unset($this->CDU_Morada2);
        } else {
            $this->CDU_Morada2 = $cDU_Morada2;
        }
        return $this;
    }
    /**
     * Get CDU_Newsletter value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return bool|null
     */
    public function getCDU_Newsletter()
    {
        return isset($this->CDU_Newsletter) ? $this->CDU_Newsletter : null;
    }
    /**
     * Set CDU_Newsletter value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param bool $cDU_Newsletter
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Newsletter($cDU_Newsletter = null)
    {
        // validation for constraint: boolean
        if (!is_null($cDU_Newsletter) && !is_bool($cDU_Newsletter)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($cDU_Newsletter)), __LINE__);
        }
        if (is_null($cDU_Newsletter) || (is_array($cDU_Newsletter) && empty($cDU_Newsletter))) {
            unset($this->CDU_Newsletter);
        } else {
            $this->CDU_Newsletter = $cDU_Newsletter;
        }
        return $this;
    }
    /**
     * Get CDU_NomeFoto value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_NomeFoto()
    {
        return isset($this->CDU_NomeFoto) ? $this->CDU_NomeFoto : null;
    }
    /**
     * Set CDU_NomeFoto value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_NomeFoto
     * @return \StructType\VendedoresERP
     */
    public function setCDU_NomeFoto($cDU_NomeFoto = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_NomeFoto) && !is_string($cDU_NomeFoto)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_NomeFoto)), __LINE__);
        }
        if (is_null($cDU_NomeFoto) || (is_array($cDU_NomeFoto) && empty($cDU_NomeFoto))) {
            unset($this->CDU_NomeFoto);
        } else {
            $this->CDU_NomeFoto = $cDU_NomeFoto;
        }
        return $this;
    }
    /**
     * Get CDU_NumContrib value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_NumContrib()
    {
        return isset($this->CDU_NumContrib) ? $this->CDU_NumContrib : null;
    }
    /**
     * Set CDU_NumContrib value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_NumContrib
     * @return \StructType\VendedoresERP
     */
    public function setCDU_NumContrib($cDU_NumContrib = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_NumContrib) && !is_string($cDU_NumContrib)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_NumContrib)), __LINE__);
        }
        if (is_null($cDU_NumContrib) || (is_array($cDU_NumContrib) && empty($cDU_NumContrib))) {
            unset($this->CDU_NumContrib);
        } else {
            $this->CDU_NumContrib = $cDU_NumContrib;
        }
        return $this;
    }
    /**
     * Get CDU_Pais value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Pais()
    {
        return isset($this->CDU_Pais) ? $this->CDU_Pais : null;
    }
    /**
     * Set CDU_Pais value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Pais
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Pais($cDU_Pais = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Pais) && !is_string($cDU_Pais)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Pais)), __LINE__);
        }
        if (is_null($cDU_Pais) || (is_array($cDU_Pais) && empty($cDU_Pais))) {
            unset($this->CDU_Pais);
        } else {
            $this->CDU_Pais = $cDU_Pais;
        }
        return $this;
    }
    /**
     * Get CDU_Password value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Password()
    {
        return isset($this->CDU_Password) ? $this->CDU_Password : null;
    }
    /**
     * Set CDU_Password value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Password
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Password($cDU_Password = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Password) && !is_string($cDU_Password)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Password)), __LINE__);
        }
        if (is_null($cDU_Password) || (is_array($cDU_Password) && empty($cDU_Password))) {
            unset($this->CDU_Password);
        } else {
            $this->CDU_Password = $cDU_Password;
        }
        return $this;
    }
    /**
     * Get CDU_PontosCartao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return int|null
     */
    public function getCDU_PontosCartao()
    {
        return isset($this->CDU_PontosCartao) ? $this->CDU_PontosCartao : null;
    }
    /**
     * Set CDU_PontosCartao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param int $cDU_PontosCartao
     * @return \StructType\VendedoresERP
     */
    public function setCDU_PontosCartao($cDU_PontosCartao = null)
    {
        // validation for constraint: int
        if (!is_null($cDU_PontosCartao) && !is_numeric($cDU_PontosCartao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a numeric value, "%s" given', gettype($cDU_PontosCartao)), __LINE__);
        }
        if (is_null($cDU_PontosCartao) || (is_array($cDU_PontosCartao) && empty($cDU_PontosCartao))) {
            unset($this->CDU_PontosCartao);
        } else {
            $this->CDU_PontosCartao = $cDU_PontosCartao;
        }
        return $this;
    }
    /**
     * Get CDU_Role value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Role()
    {
        return isset($this->CDU_Role) ? $this->CDU_Role : null;
    }
    /**
     * Set CDU_Role value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Role
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Role($cDU_Role = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Role) && !is_string($cDU_Role)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Role)), __LINE__);
        }
        if (is_null($cDU_Role) || (is_array($cDU_Role) && empty($cDU_Role))) {
            unset($this->CDU_Role);
        } else {
            $this->CDU_Role = $cDU_Role;
        }
        return $this;
    }
    /**
     * Get CDU_Username value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCDU_Username()
    {
        return isset($this->CDU_Username) ? $this->CDU_Username : null;
    }
    /**
     * Set CDU_Username value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cDU_Username
     * @return \StructType\VendedoresERP
     */
    public function setCDU_Username($cDU_Username = null)
    {
        // validation for constraint: string
        if (!is_null($cDU_Username) && !is_string($cDU_Username)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cDU_Username)), __LINE__);
        }
        if (is_null($cDU_Username) || (is_array($cDU_Username) && empty($cDU_Username))) {
            unset($this->CDU_Username);
        } else {
            $this->CDU_Username = $cDU_Username;
        }
        return $this;
    }
    /**
     * Get CPostal value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCPostal()
    {
        return isset($this->CPostal) ? $this->CPostal : null;
    }
    /**
     * Set CPostal value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cPostal
     * @return \StructType\VendedoresERP
     */
    public function setCPostal($cPostal = null)
    {
        // validation for constraint: string
        if (!is_null($cPostal) && !is_string($cPostal)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cPostal)), __LINE__);
        }
        if (is_null($cPostal) || (is_array($cPostal) && empty($cPostal))) {
            unset($this->CPostal);
        } else {
            $this->CPostal = $cPostal;
        }
        return $this;
    }
    /**
     * Get Comissao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getComissao()
    {
        return isset($this->Comissao) ? $this->Comissao : null;
    }
    /**
     * Set Comissao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $comissao
     * @return \StructType\VendedoresERP
     */
    public function setComissao($comissao = null)
    {
        if (is_null($comissao) || (is_array($comissao) && empty($comissao))) {
            unset($this->Comissao);
        } else {
            $this->Comissao = $comissao;
        }
        return $this;
    }
    /**
     * Get ComissaoLiquidacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return float|null
     */
    public function getComissaoLiquidacao()
    {
        return isset($this->ComissaoLiquidacao) ? $this->ComissaoLiquidacao : null;
    }
    /**
     * Set ComissaoLiquidacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param float $comissaoLiquidacao
     * @return \StructType\VendedoresERP
     */
    public function setComissaoLiquidacao($comissaoLiquidacao = null)
    {
        if (is_null($comissaoLiquidacao) || (is_array($comissaoLiquidacao) && empty($comissaoLiquidacao))) {
            unset($this->ComissaoLiquidacao);
        } else {
            $this->ComissaoLiquidacao = $comissaoLiquidacao;
        }
        return $this;
    }
    /**
     * Get CpLocalidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getCpLocalidade()
    {
        return isset($this->CpLocalidade) ? $this->CpLocalidade : null;
    }
    /**
     * Set CpLocalidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $cpLocalidade
     * @return \StructType\VendedoresERP
     */
    public function setCpLocalidade($cpLocalidade = null)
    {
        // validation for constraint: string
        if (!is_null($cpLocalidade) && !is_string($cpLocalidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($cpLocalidade)), __LINE__);
        }
        if (is_null($cpLocalidade) || (is_array($cpLocalidade) && empty($cpLocalidade))) {
            unset($this->CpLocalidade);
        } else {
            $this->CpLocalidade = $cpLocalidade;
        }
        return $this;
    }
    /**
     * Get DataUltimaActualizacao value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getDataUltimaActualizacao()
    {
        return isset($this->DataUltimaActualizacao) ? $this->DataUltimaActualizacao : null;
    }
    /**
     * Set DataUltimaActualizacao value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $dataUltimaActualizacao
     * @return \StructType\VendedoresERP
     */
    public function setDataUltimaActualizacao($dataUltimaActualizacao = null)
    {
        // validation for constraint: string
        if (!is_null($dataUltimaActualizacao) && !is_string($dataUltimaActualizacao)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($dataUltimaActualizacao)), __LINE__);
        }
        if (is_null($dataUltimaActualizacao) || (is_array($dataUltimaActualizacao) && empty($dataUltimaActualizacao))) {
            unset($this->DataUltimaActualizacao);
        } else {
            $this->DataUltimaActualizacao = $dataUltimaActualizacao;
        }
        return $this;
    }
    /**
     * Get DisponivelEmPMS value
     * @return bool|null
     */
    public function getDisponivelEmPMS()
    {
        return $this->DisponivelEmPMS;
    }
    /**
     * Set DisponivelEmPMS value
     * @param bool $disponivelEmPMS
     * @return \StructType\VendedoresERP
     */
    public function setDisponivelEmPMS($disponivelEmPMS = null)
    {
        // validation for constraint: boolean
        if (!is_null($disponivelEmPMS) && !is_bool($disponivelEmPMS)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($disponivelEmPMS)), __LINE__);
        }
        $this->DisponivelEmPMS = $disponivelEmPMS;
        return $this;
    }
    /**
     * Get EMail value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEMail()
    {
        return isset($this->EMail) ? $this->EMail : null;
    }
    /**
     * Set EMail value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $eMail
     * @return \StructType\VendedoresERP
     */
    public function setEMail($eMail = null)
    {
        // validation for constraint: string
        if (!is_null($eMail) && !is_string($eMail)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($eMail)), __LINE__);
        }
        if (is_null($eMail) || (is_array($eMail) && empty($eMail))) {
            unset($this->EMail);
        } else {
            $this->EMail = $eMail;
        }
        return $this;
    }
    /**
     * Get Entidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getEntidade()
    {
        return isset($this->Entidade) ? $this->Entidade : null;
    }
    /**
     * Set Entidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $entidade
     * @return \StructType\VendedoresERP
     */
    public function setEntidade($entidade = null)
    {
        // validation for constraint: string
        if (!is_null($entidade) && !is_string($entidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($entidade)), __LINE__);
        }
        if (is_null($entidade) || (is_array($entidade) && empty($entidade))) {
            unset($this->Entidade);
        } else {
            $this->Entidade = $entidade;
        }
        return $this;
    }
    /**
     * Get Fax value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getFax()
    {
        return isset($this->Fax) ? $this->Fax : null;
    }
    /**
     * Set Fax value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $fax
     * @return \StructType\VendedoresERP
     */
    public function setFax($fax = null)
    {
        // validation for constraint: string
        if (!is_null($fax) && !is_string($fax)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($fax)), __LINE__);
        }
        if (is_null($fax) || (is_array($fax) && empty($fax))) {
            unset($this->Fax);
        } else {
            $this->Fax = $fax;
        }
        return $this;
    }
    /**
     * Get Localidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getLocalidade()
    {
        return isset($this->Localidade) ? $this->Localidade : null;
    }
    /**
     * Set Localidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $localidade
     * @return \StructType\VendedoresERP
     */
    public function setLocalidade($localidade = null)
    {
        // validation for constraint: string
        if (!is_null($localidade) && !is_string($localidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($localidade)), __LINE__);
        }
        if (is_null($localidade) || (is_array($localidade) && empty($localidade))) {
            unset($this->Localidade);
        } else {
            $this->Localidade = $localidade;
        }
        return $this;
    }
    /**
     * Get Moeda value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMoeda()
    {
        return isset($this->Moeda) ? $this->Moeda : null;
    }
    /**
     * Set Moeda value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $moeda
     * @return \StructType\VendedoresERP
     */
    public function setMoeda($moeda = null)
    {
        // validation for constraint: string
        if (!is_null($moeda) && !is_string($moeda)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($moeda)), __LINE__);
        }
        if (is_null($moeda) || (is_array($moeda) && empty($moeda))) {
            unset($this->Moeda);
        } else {
            $this->Moeda = $moeda;
        }
        return $this;
    }
    /**
     * Get Morada value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getMorada()
    {
        return isset($this->Morada) ? $this->Morada : null;
    }
    /**
     * Set Morada value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $morada
     * @return \StructType\VendedoresERP
     */
    public function setMorada($morada = null)
    {
        // validation for constraint: string
        if (!is_null($morada) && !is_string($morada)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($morada)), __LINE__);
        }
        if (is_null($morada) || (is_array($morada) && empty($morada))) {
            unset($this->Morada);
        } else {
            $this->Morada = $morada;
        }
        return $this;
    }
    /**
     * Get Nome value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNome()
    {
        return isset($this->Nome) ? $this->Nome : null;
    }
    /**
     * Set Nome value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $nome
     * @return \StructType\VendedoresERP
     */
    public function setNome($nome = null)
    {
        // validation for constraint: string
        if (!is_null($nome) && !is_string($nome)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($nome)), __LINE__);
        }
        if (is_null($nome) || (is_array($nome) && empty($nome))) {
            unset($this->Nome);
        } else {
            $this->Nome = $nome;
        }
        return $this;
    }
    /**
     * Get Notas value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getNotas()
    {
        return isset($this->Notas) ? $this->Notas : null;
    }
    /**
     * Set Notas value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $notas
     * @return \StructType\VendedoresERP
     */
    public function setNotas($notas = null)
    {
        // validation for constraint: string
        if (!is_null($notas) && !is_string($notas)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($notas)), __LINE__);
        }
        if (is_null($notas) || (is_array($notas) && empty($notas))) {
            unset($this->Notas);
        } else {
            $this->Notas = $notas;
        }
        return $this;
    }
    /**
     * Get Protegida value
     * @return bool|null
     */
    public function getProtegida()
    {
        return $this->Protegida;
    }
    /**
     * Set Protegida value
     * @param bool $protegida
     * @return \StructType\VendedoresERP
     */
    public function setProtegida($protegida = null)
    {
        // validation for constraint: boolean
        if (!is_null($protegida) && !is_bool($protegida)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a bool, "%s" given', gettype($protegida)), __LINE__);
        }
        $this->Protegida = $protegida;
        return $this;
    }
    /**
     * Get Telefone value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelefone()
    {
        return isset($this->Telefone) ? $this->Telefone : null;
    }
    /**
     * Set Telefone value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telefone
     * @return \StructType\VendedoresERP
     */
    public function setTelefone($telefone = null)
    {
        // validation for constraint: string
        if (!is_null($telefone) && !is_string($telefone)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telefone)), __LINE__);
        }
        if (is_null($telefone) || (is_array($telefone) && empty($telefone))) {
            unset($this->Telefone);
        } else {
            $this->Telefone = $telefone;
        }
        return $this;
    }
    /**
     * Get Telemovel value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTelemovel()
    {
        return isset($this->Telemovel) ? $this->Telemovel : null;
    }
    /**
     * Set Telemovel value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $telemovel
     * @return \StructType\VendedoresERP
     */
    public function setTelemovel($telemovel = null)
    {
        // validation for constraint: string
        if (!is_null($telemovel) && !is_string($telemovel)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($telemovel)), __LINE__);
        }
        if (is_null($telemovel) || (is_array($telemovel) && empty($telemovel))) {
            unset($this->Telemovel);
        } else {
            $this->Telemovel = $telemovel;
        }
        return $this;
    }
    /**
     * Get TipoEntidade value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getTipoEntidade()
    {
        return isset($this->TipoEntidade) ? $this->TipoEntidade : null;
    }
    /**
     * Set TipoEntidade value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $tipoEntidade
     * @return \StructType\VendedoresERP
     */
    public function setTipoEntidade($tipoEntidade = null)
    {
        // validation for constraint: string
        if (!is_null($tipoEntidade) && !is_string($tipoEntidade)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($tipoEntidade)), __LINE__);
        }
        if (is_null($tipoEntidade) || (is_array($tipoEntidade) && empty($tipoEntidade))) {
            unset($this->TipoEntidade);
        } else {
            $this->TipoEntidade = $tipoEntidade;
        }
        return $this;
    }
    /**
     * Get Vendedor value
     * An additional test has been added (isset) before returning the property value as
     * this property may have been unset before, due to the fact that this property is
     * removable from the request (nillable=true+minOccurs=0)
     * @return string|null
     */
    public function getVendedor()
    {
        return isset($this->Vendedor) ? $this->Vendedor : null;
    }
    /**
     * Set Vendedor value
     * This property is removable from request (nillable=true+minOccurs=0), therefore
     * if the value assigned to this property is null, it is removed from this object
     * @param string $vendedor
     * @return \StructType\VendedoresERP
     */
    public function setVendedor($vendedor = null)
    {
        // validation for constraint: string
        if (!is_null($vendedor) && !is_string($vendedor)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($vendedor)), __LINE__);
        }
        if (is_null($vendedor) || (is_array($vendedor) && empty($vendedor))) {
            unset($this->Vendedor);
        } else {
            $this->Vendedor = $vendedor;
        }
        return $this;
    }
    /**
     * Get VersaoUltAct value
     * @return string|null
     */
    public function getVersaoUltAct()
    {
        return $this->VersaoUltAct;
    }
    /**
     * Set VersaoUltAct value
     * @param string $versaoUltAct
     * @return \StructType\VendedoresERP
     */
    public function setVersaoUltAct($versaoUltAct = null)
    {
        // validation for constraint: string
        if (!is_null($versaoUltAct) && !is_string($versaoUltAct)) {
            throw new \InvalidArgumentException(sprintf('Invalid value, please provide a string, "%s" given', gettype($versaoUltAct)), __LINE__);
        }
        $this->VersaoUltAct = $versaoUltAct;
        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 \StructType\VendedoresERP
     */
    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__;
    }
}
