<?php

namespace App\Integration\Providers\Alliance3\DTO;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SubjectRepresentative DTO
 * @subpackage Structs
 */
class SubjectRepresentative extends AbstractStructBase
{
    /**
     * The name
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $name;
    /**
     * The nameGenitive
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $nameGenitive;
    /**
     * The post
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $post;
    /**
     * The postGenitive
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $postGenitive;
    /**
     * The docType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $docType;
    /**
     * The docTypeGenitive
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $docTypeGenitive;
    /**
     * The docSeries
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $docSeries;
    /**
     * The docNumber
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $docNumber;
    /**
     * The docDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $docDate;
    /**
     * Constructor method for SubjectRepresentative
     * @uses SubjectRepresentative::setName()
     * @uses SubjectRepresentative::setNameGenitive()
     * @uses SubjectRepresentative::setPost()
     * @uses SubjectRepresentative::setPostGenitive()
     * @uses SubjectRepresentative::setDocType()
     * @uses SubjectRepresentative::setDocTypeGenitive()
     * @uses SubjectRepresentative::setDocSeries()
     * @uses SubjectRepresentative::setDocNumber()
     * @uses SubjectRepresentative::setDocDate()
     * @param string $name
     * @param string $nameGenitive
     * @param string $post
     * @param string $postGenitive
     * @param string $docType
     * @param string $docTypeGenitive
     * @param string $docSeries
     * @param string $docNumber
     * @param string $docDate
     */
    public function __construct($name = null, $nameGenitive = null, $post = null, $postGenitive = null, $docType = null, $docTypeGenitive = null, $docSeries = null, $docNumber = null, $docDate = null)
    {
        $this
            ->setName($name)
            ->setNameGenitive($nameGenitive)
            ->setPost($post)
            ->setPostGenitive($postGenitive)
            ->setDocType($docType)
            ->setDocTypeGenitive($docTypeGenitive)
            ->setDocSeries($docSeries)
            ->setDocNumber($docNumber)
            ->setDocDate($docDate);
    }
    /**
     * Get name value
     * @return string|null
     */
    public function getName()
    {
        return $this->name;
    }
    /**
     * Set name value
     * @param string $name
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setName($name = null)
    {
        $this->name = $name;
        return $this;
    }
    /**
     * Get nameGenitive value
     * @return string|null
     */
    public function getNameGenitive()
    {
        return $this->nameGenitive;
    }
    /**
     * Set nameGenitive value
     * @param string $nameGenitive
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setNameGenitive($nameGenitive = null)
    {
        $this->nameGenitive = $nameGenitive;
        return $this;
    }
    /**
     * Get post value
     * @return string|null
     */
    public function getPost()
    {
        return $this->post;
    }
    /**
     * Set post value
     * @param string $post
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setPost($post = null)
    {
        $this->post = $post;
        return $this;
    }
    /**
     * Get postGenitive value
     * @return string|null
     */
    public function getPostGenitive()
    {
        return $this->postGenitive;
    }
    /**
     * Set postGenitive value
     * @param string $postGenitive
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setPostGenitive($postGenitive = null)
    {
        $this->postGenitive = $postGenitive;
        return $this;
    }
    /**
     * Get docType value
     * @return string|null
     */
    public function getDocType()
    {
        return $this->docType;
    }
    /**
     * Set docType value
     * @param string $docType
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setDocType($docType = null)
    {
        $this->docType = $docType;
        return $this;
    }
    /**
     * Get docTypeGenitive value
     * @return string|null
     */
    public function getDocTypeGenitive()
    {
        return $this->docTypeGenitive;
    }
    /**
     * Set docTypeGenitive value
     * @param string $docTypeGenitive
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setDocTypeGenitive($docTypeGenitive = null)
    {
        $this->docTypeGenitive = $docTypeGenitive;
        return $this;
    }
    /**
     * Get docSeries value
     * @return string|null
     */
    public function getDocSeries()
    {
        return $this->docSeries;
    }
    /**
     * Set docSeries value
     * @param string $docSeries
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setDocSeries($docSeries = null)
    {
        $this->docSeries = $docSeries;
        return $this;
    }
    /**
     * Get docNumber value
     * @return string|null
     */
    public function getDocNumber()
    {
        return $this->docNumber;
    }
    /**
     * Set docNumber value
     * @param string $docNumber
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setDocNumber($docNumber = null)
    {
        $this->docNumber = $docNumber;
        return $this;
    }
    /**
     * Get docDate value
     * @return string|null
     */
    public function getDocDate()
    {
        return $this->docDate;
    }
    /**
     * Set docDate value
     * @param string $docDate
     * @return \App\Integration\Providers\Alliance3\DTO\SubjectRepresentative
     */
    public function setDocDate($docDate = null)
    {
        $this->docDate = $docDate;
        return $this;
    }
}
