<?php

namespace TRIBUNALWS;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PessoaNaoRegistoNacionalPN TRIBUNALWS
 * Meta information extracted from the WSDL
 * - nillable: true
 * - type: ns1:PessoaNaoRegistoNacionalPN
 * @subpackage Structs
 */
class PessoaNaoRegistoNacionalPN extends AbstractStructBase
{
    /**
     * The DataEmissao
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $DataEmissao;
    /**
     * The DataNascimento
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $DataNascimento;
    /**
     * The EntidadeEmissora
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $EntidadeEmissora;
    /**
     * The EstadoCivilPessoa
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $EstadoCivilPessoa;
    /**
     * The LocalEmissao
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $LocalEmissao;
    /**
     * The MoradaOficial
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $MoradaOficial;
    /**
     * The Nome
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $Nome;
    /**
     * The NumDoc
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $NumDoc;
    /**
     * The Sexo
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $Sexo;
    /**
     * The TipoDoc
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $TipoDoc;
    /**
     * The ValidoAte
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $ValidoAte;
    /**
     * Constructor method for PessoaNaoRegistoNacionalPN
     * @uses PessoaNaoRegistoNacionalPN::setDataEmissao()
     * @uses PessoaNaoRegistoNacionalPN::setDataNascimento()
     * @uses PessoaNaoRegistoNacionalPN::setEntidadeEmissora()
     * @uses PessoaNaoRegistoNacionalPN::setEstadoCivilPessoa()
     * @uses PessoaNaoRegistoNacionalPN::setLocalEmissao()
     * @uses PessoaNaoRegistoNacionalPN::setMoradaOficial()
     * @uses PessoaNaoRegistoNacionalPN::setNome()
     * @uses PessoaNaoRegistoNacionalPN::setNumDoc()
     * @uses PessoaNaoRegistoNacionalPN::setSexo()
     * @uses PessoaNaoRegistoNacionalPN::setTipoDoc()
     * @uses PessoaNaoRegistoNacionalPN::setValidoAte()
     * @param string $dataEmissao
     * @param string $dataNascimento
     * @param string $entidadeEmissora
     * @param string $estadoCivilPessoa
     * @param string $localEmissao
     * @param string $moradaOficial
     * @param string $nome
     * @param string $numDoc
     * @param string $sexo
     * @param string $tipoDoc
     * @param string $validoAte
     */
    public function __construct($dataEmissao = null, $dataNascimento = null, $entidadeEmissora = null, $estadoCivilPessoa = null, $localEmissao = null, $moradaOficial = null, $nome = null, $numDoc = null, $sexo = null, $tipoDoc = null, $validoAte = null)
    {
        $this
            ->setDataEmissao($dataEmissao)
            ->setDataNascimento($dataNascimento)
            ->setEntidadeEmissora($entidadeEmissora)
            ->setEstadoCivilPessoa($estadoCivilPessoa)
            ->setLocalEmissao($localEmissao)
            ->setMoradaOficial($moradaOficial)
            ->setNome($nome)
            ->setNumDoc($numDoc)
            ->setSexo($sexo)
            ->setTipoDoc($tipoDoc)
            ->setValidoAte($validoAte);
    }
    /**
     * Get DataEmissao value
     * @return string|null
     */
    public function getDataEmissao()
    {
        return $this->DataEmissao;
    }
    /**
     * Set DataEmissao value
     * @param string $dataEmissao
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setDataEmissao($dataEmissao = null)
    {
        $this->DataEmissao = $dataEmissao;
        return $this;
    }
    /**
     * Get DataNascimento value
     * @return string|null
     */
    public function getDataNascimento()
    {
        return $this->DataNascimento;
    }
    /**
     * Set DataNascimento value
     * @param string $dataNascimento
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setDataNascimento($dataNascimento = null)
    {
        $this->DataNascimento = $dataNascimento;
        return $this;
    }
    /**
     * Get EntidadeEmissora 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 getEntidadeEmissora()
    {
        return isset($this->EntidadeEmissora) ? $this->EntidadeEmissora : null;
    }
    /**
     * Set EntidadeEmissora 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 $entidadeEmissora
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setEntidadeEmissora($entidadeEmissora = null)
    {
        if (is_null($entidadeEmissora) || (is_array($entidadeEmissora) && empty($entidadeEmissora))) {
            unset($this->EntidadeEmissora);
        } else {
            $this->EntidadeEmissora = $entidadeEmissora;
        }
        return $this;
    }
    /**
     * Get EstadoCivilPessoa value
     * @return string|null
     */
    public function getEstadoCivilPessoa()
    {
        return $this->EstadoCivilPessoa;
    }
    /**
     * Set EstadoCivilPessoa value
     * @param string $estadoCivilPessoa
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setEstadoCivilPessoa($estadoCivilPessoa = null)
    {
        $this->EstadoCivilPessoa = $estadoCivilPessoa;
        return $this;
    }
    /**
     * Get LocalEmissao 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 getLocalEmissao()
    {
        return isset($this->LocalEmissao) ? $this->LocalEmissao : null;
    }
    /**
     * Set LocalEmissao 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 $localEmissao
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setLocalEmissao($localEmissao = null)
    {
        if (is_null($localEmissao) || (is_array($localEmissao) && empty($localEmissao))) {
            unset($this->LocalEmissao);
        } else {
            $this->LocalEmissao = $localEmissao;
        }
        return $this;
    }
    /**
     * Get MoradaOficial 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 getMoradaOficial()
    {
        return isset($this->MoradaOficial) ? $this->MoradaOficial : null;
    }
    /**
     * Set MoradaOficial 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 $moradaOficial
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setMoradaOficial($moradaOficial = null)
    {
        if (is_null($moradaOficial) || (is_array($moradaOficial) && empty($moradaOficial))) {
            unset($this->MoradaOficial);
        } else {
            $this->MoradaOficial = $moradaOficial;
        }
        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 \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setNome($nome = null)
    {
        if (is_null($nome) || (is_array($nome) && empty($nome))) {
            unset($this->Nome);
        } else {
            $this->Nome = $nome;
        }
        return $this;
    }
    /**
     * Get NumDoc 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 getNumDoc()
    {
        return isset($this->NumDoc) ? $this->NumDoc : null;
    }
    /**
     * Set NumDoc 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 $numDoc
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setNumDoc($numDoc = null)
    {
        if (is_null($numDoc) || (is_array($numDoc) && empty($numDoc))) {
            unset($this->NumDoc);
        } else {
            $this->NumDoc = $numDoc;
        }
        return $this;
    }
    /**
     * Get Sexo value
     * @return string|null
     */
    public function getSexo()
    {
        return $this->Sexo;
    }
    /**
     * Set Sexo value
     * @param string $sexo
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setSexo($sexo = null)
    {
        $this->Sexo = $sexo;
        return $this;
    }
    /**
     * Get TipoDoc value
     * @return string|null
     */
    public function getTipoDoc()
    {
        return $this->TipoDoc;
    }
    /**
     * Set TipoDoc value
     * @param string $tipoDoc
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setTipoDoc($tipoDoc = null)
    {
        $this->TipoDoc = $tipoDoc;
        return $this;
    }
    /**
     * Get ValidoAte value
     * @return string|null
     */
    public function getValidoAte()
    {
        return $this->ValidoAte;
    }
    /**
     * Set ValidoAte value
     * @param string $validoAte
     * @return \TRIBUNALWS\PessoaNaoRegistoNacionalPN
     */
    public function setValidoAte($validoAte = null)
    {
        $this->ValidoAte = $validoAte;
        return $this;
    }
}
