<?php
use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for getReconciliationList StructType
 * @subpackage Structs
 */
class GetReconciliationList extends AbstractStructBase
{
    /**
     * The sessionID
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $sessionID;
    /**
     * The begDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $begDate;
    /**
     * The endDate
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $endDate;
    /**
     * The begNum
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $begNum;
    /**
     * The endNum
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var string
     */
    public $endNum;
    /**
     * The opType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var string
     */
    public $opType;
    /**
     * The docType
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * @var int
     */
    public $docType;
    /**
     * Constructor method for getReconciliationList
     * @uses GetReconciliationList::setSessionID()
     * @uses GetReconciliationList::setBegDate()
     * @uses GetReconciliationList::setEndDate()
     * @uses GetReconciliationList::setBegNum()
     * @uses GetReconciliationList::setEndNum()
     * @uses GetReconciliationList::setOpType()
     * @uses GetReconciliationList::setDocType()
     * @param string $sessionID
     * @param string $begDate
     * @param string $endDate
     * @param string $begNum
     * @param string $endNum
     * @param string $opType
     * @param int $docType
     */
    public function __construct($sessionID = null, $begDate = null, $endDate = null, $begNum = null, $endNum = null, $opType = null, $docType = null)
    {
        $this
            ->setSessionID($sessionID)
            ->setBegDate($begDate)
            ->setEndDate($endDate)
            ->setBegNum($begNum)
            ->setEndNum($endNum)
            ->setOpType($opType)
            ->setDocType($docType);
    }
    /**
     * Get sessionID 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 getSessionID()
    {
        return isset($this->sessionID) ? $this->sessionID : null;
    }
    /**
     * Set sessionID 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 $sessionID
     * @return GetReconciliationList
     */
    public function setSessionID($sessionID = null)
    {
        if (is_null($sessionID) || (is_array($sessionID) && empty($sessionID))) {
            unset($this->sessionID);
        } else {
            $this->sessionID = $sessionID;
        }
        return $this;
    }
    /**
     * Get begDate value
     * @return string|null
     */
    public function getBegDate()
    {
        return $this->begDate;
    }
    /**
     * Set begDate value
     * @param string $begDate
     * @return GetReconciliationList
     */
    public function setBegDate($begDate = null)
    {
        $this->begDate = $begDate;
        return $this;
    }
    /**
     * Get endDate value
     * @return string|null
     */
    public function getEndDate()
    {
        return $this->endDate;
    }
    /**
     * Set endDate value
     * @param string $endDate
     * @return GetReconciliationList
     */
    public function setEndDate($endDate = null)
    {
        $this->endDate = $endDate;
        return $this;
    }
    /**
     * Get begNum 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 getBegNum()
    {
        return isset($this->begNum) ? $this->begNum : null;
    }
    /**
     * Set begNum 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 $begNum
     * @return GetReconciliationList
     */
    public function setBegNum($begNum = null)
    {
        if (is_null($begNum) || (is_array($begNum) && empty($begNum))) {
            unset($this->begNum);
        } else {
            $this->begNum = $begNum;
        }
        return $this;
    }
    /**
     * Get endNum 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 getEndNum()
    {
        return isset($this->endNum) ? $this->endNum : null;
    }
    /**
     * Set endNum 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 $endNum
     * @return GetReconciliationList
     */
    public function setEndNum($endNum = null)
    {
        if (is_null($endNum) || (is_array($endNum) && empty($endNum))) {
            unset($this->endNum);
        } else {
            $this->endNum = $endNum;
        }
        return $this;
    }
    /**
     * Get opType value
     * @return string|null
     */
    public function getOpType()
    {
        return $this->opType;
    }
    /**
     * Set opType value
     * @param string $opType
     * @return GetReconciliationList
     */
    public function setOpType($opType = null)
    {
        $this->opType = $opType;
        return $this;
    }
    /**
     * Get docType value
     * @return int|null
     */
    public function getDocType()
    {
        return $this->docType;
    }
    /**
     * Set docType value
     * @param int $docType
     * @return GetReconciliationList
     */
    public function setDocType($docType = null)
    {
        $this->docType = $docType;
        return $this;
    }
}
