<?php

namespace patest\StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Printing.AuxiliaryDataItem.SubscriptionCardsData
 * StructType
 * @subpackage Structs
 */
class Printing_AuxiliaryDataItem_SubscriptionCardsData extends Printing_AuxiliaryDataItem_Base
{
    /**
     * The AllSubscriptionCards
     * Meta information extracted from the WSDL
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $AllSubscriptionCards;
    /**
     * The BoughtAndConfirmedSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $BoughtAndConfirmedSubscriptionCards;
    /**
     * The BoughtSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $BoughtSubscriptionCards;
    /**
     * The ConfirmedSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $ConfirmedSubscriptionCards;
    /**
     * The PrintedSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $PrintedSubscriptionCards;
    /**
     * The ReservedSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $ReservedSubscriptionCards;
    /**
     * The ReturnedSubscriptionCards
     * Meta information extracted from the WSDL
     * - documentation: Calculated.
     * - minOccurs: 0
     * - nillable: true
     * @var \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard
     */
    public $ReturnedSubscriptionCards;
    /**
     * Constructor method for Printing.AuxiliaryDataItem.SubscriptionCardsData
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setAllSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setBoughtAndConfirmedSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setBoughtSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setConfirmedSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setPrintedSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setReservedSubscriptionCards()
     * @uses Printing_AuxiliaryDataItem_SubscriptionCardsData::setReturnedSubscriptionCards()
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $allSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtAndConfirmedSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $confirmedSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $printedSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $reservedSubscriptionCards
     * @param \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $returnedSubscriptionCards
     */
    public function __construct(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $allSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtAndConfirmedSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $confirmedSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $printedSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $reservedSubscriptionCards = null, \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $returnedSubscriptionCards = null)
    {
        $this
            ->setAllSubscriptionCards($allSubscriptionCards)
            ->setBoughtAndConfirmedSubscriptionCards($boughtAndConfirmedSubscriptionCards)
            ->setBoughtSubscriptionCards($boughtSubscriptionCards)
            ->setConfirmedSubscriptionCards($confirmedSubscriptionCards)
            ->setPrintedSubscriptionCards($printedSubscriptionCards)
            ->setReservedSubscriptionCards($reservedSubscriptionCards)
            ->setReturnedSubscriptionCards($returnedSubscriptionCards);
    }
    /**
     * Get AllSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getAllSubscriptionCards()
    {
        return isset($this->AllSubscriptionCards) ? $this->AllSubscriptionCards : null;
    }
    /**
     * Set AllSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $allSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setAllSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $allSubscriptionCards = null)
    {
        if (is_null($allSubscriptionCards) || (is_array($allSubscriptionCards) && empty($allSubscriptionCards))) {
            unset($this->AllSubscriptionCards);
        } else {
            $this->AllSubscriptionCards = $allSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get BoughtAndConfirmedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getBoughtAndConfirmedSubscriptionCards()
    {
        return isset($this->BoughtAndConfirmedSubscriptionCards) ? $this->BoughtAndConfirmedSubscriptionCards : null;
    }
    /**
     * Set BoughtAndConfirmedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtAndConfirmedSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setBoughtAndConfirmedSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtAndConfirmedSubscriptionCards = null)
    {
        if (is_null($boughtAndConfirmedSubscriptionCards) || (is_array($boughtAndConfirmedSubscriptionCards) && empty($boughtAndConfirmedSubscriptionCards))) {
            unset($this->BoughtAndConfirmedSubscriptionCards);
        } else {
            $this->BoughtAndConfirmedSubscriptionCards = $boughtAndConfirmedSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get BoughtSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getBoughtSubscriptionCards()
    {
        return isset($this->BoughtSubscriptionCards) ? $this->BoughtSubscriptionCards : null;
    }
    /**
     * Set BoughtSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setBoughtSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $boughtSubscriptionCards = null)
    {
        if (is_null($boughtSubscriptionCards) || (is_array($boughtSubscriptionCards) && empty($boughtSubscriptionCards))) {
            unset($this->BoughtSubscriptionCards);
        } else {
            $this->BoughtSubscriptionCards = $boughtSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get ConfirmedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getConfirmedSubscriptionCards()
    {
        return isset($this->ConfirmedSubscriptionCards) ? $this->ConfirmedSubscriptionCards : null;
    }
    /**
     * Set ConfirmedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $confirmedSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setConfirmedSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $confirmedSubscriptionCards = null)
    {
        if (is_null($confirmedSubscriptionCards) || (is_array($confirmedSubscriptionCards) && empty($confirmedSubscriptionCards))) {
            unset($this->ConfirmedSubscriptionCards);
        } else {
            $this->ConfirmedSubscriptionCards = $confirmedSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get PrintedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getPrintedSubscriptionCards()
    {
        return isset($this->PrintedSubscriptionCards) ? $this->PrintedSubscriptionCards : null;
    }
    /**
     * Set PrintedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $printedSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setPrintedSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $printedSubscriptionCards = null)
    {
        if (is_null($printedSubscriptionCards) || (is_array($printedSubscriptionCards) && empty($printedSubscriptionCards))) {
            unset($this->PrintedSubscriptionCards);
        } else {
            $this->PrintedSubscriptionCards = $printedSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get ReservedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getReservedSubscriptionCards()
    {
        return isset($this->ReservedSubscriptionCards) ? $this->ReservedSubscriptionCards : null;
    }
    /**
     * Set ReservedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $reservedSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setReservedSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $reservedSubscriptionCards = null)
    {
        if (is_null($reservedSubscriptionCards) || (is_array($reservedSubscriptionCards) && empty($reservedSubscriptionCards))) {
            unset($this->ReservedSubscriptionCards);
        } else {
            $this->ReservedSubscriptionCards = $reservedSubscriptionCards;
        }
        return $this;
    }
    /**
     * Get ReturnedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard|null
     */
    public function getReturnedSubscriptionCards()
    {
        return isset($this->ReturnedSubscriptionCards) ? $this->ReturnedSubscriptionCards : null;
    }
    /**
     * Set ReturnedSubscriptionCards 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 \patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $returnedSubscriptionCards
     * @return \patest\StructType\Printing_AuxiliaryDataItem_SubscriptionCardsData
     */
    public function setReturnedSubscriptionCards(\patest\StructType\RecordSetOfPrinting_PrintableItem_SubscriptionCard $returnedSubscriptionCards = null)
    {
        if (is_null($returnedSubscriptionCards) || (is_array($returnedSubscriptionCards) && empty($returnedSubscriptionCards))) {
            unset($this->ReturnedSubscriptionCards);
        } else {
            $this->ReturnedSubscriptionCards = $returnedSubscriptionCards;
        }
        return $this;
    }
}
