<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for PlanningSelection_V3 StructType
 * @subpackage Structs
 */
class PlanningSelection_V3 extends AbstractStructBase
{
    /**
     * The Item
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PlanningItemSelection
     */
    public $Item;
    /**
     * The Historical
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\PlanningHistoricalSelection_V2
     */
    public $Historical;
    /**
     * The Options
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 0
     * @var \StructType\GetPlanningOptionsSelection
     */
    public $Options;
    /**
     * Constructor method for PlanningSelection_V3
     * @uses PlanningSelection_V3::setItem()
     * @uses PlanningSelection_V3::setHistorical()
     * @uses PlanningSelection_V3::setOptions()
     * @param \StructType\PlanningItemSelection $item
     * @param \StructType\PlanningHistoricalSelection_V2 $historical
     * @param \StructType\GetPlanningOptionsSelection $options
     */
    public function __construct(\StructType\PlanningItemSelection $item = null, \StructType\PlanningHistoricalSelection_V2 $historical = null, \StructType\GetPlanningOptionsSelection $options = null)
    {
        $this
            ->setItem($item)
            ->setHistorical($historical)
            ->setOptions($options);
    }
    /**
     * Get Item value
     * @return \StructType\PlanningItemSelection|null
     */
    public function getItem()
    {
        return $this->Item;
    }
    /**
     * Set Item value
     * @param \StructType\PlanningItemSelection $item
     * @return \StructType\PlanningSelection_V3
     */
    public function setItem(\StructType\PlanningItemSelection $item = null)
    {
        $this->Item = $item;
        return $this;
    }
    /**
     * Get Historical value
     * @return \StructType\PlanningHistoricalSelection_V2|null
     */
    public function getHistorical()
    {
        return $this->Historical;
    }
    /**
     * Set Historical value
     * @param \StructType\PlanningHistoricalSelection_V2 $historical
     * @return \StructType\PlanningSelection_V3
     */
    public function setHistorical(\StructType\PlanningHistoricalSelection_V2 $historical = null)
    {
        $this->Historical = $historical;
        return $this;
    }
    /**
     * Get Options value
     * @return \StructType\GetPlanningOptionsSelection|null
     */
    public function getOptions()
    {
        return $this->Options;
    }
    /**
     * Set Options value
     * @param \StructType\GetPlanningOptionsSelection $options
     * @return \StructType\PlanningSelection_V3
     */
    public function setOptions(\StructType\GetPlanningOptionsSelection $options = null)
    {
        $this->Options = $options;
        return $this;
    }
}
