<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Position_RestrictionType StructType
 * Meta information extracted from the WSDL
 * - documentation: Contains each Position based on the Request References or Request Criteria. The data returned is the current information as of the dates in the response filter, and does not include all historical information about the position.
 * @subpackage Structs
 */
class Position_RestrictionType extends AbstractStructBase
{
    /**
     * The Position_Reference
     * Meta information extracted from the WSDL
     * - documentation: A unique identifier to reference a Position.
     * - minOccurs: 0
     * @var \StructType\Position_RestrictionsObjectType
     */
    public $Position_Reference;
    /**
     * The Position_Data
     * Meta information extracted from the WSDL
     * - documentation: Contains the detailed information about a Position.
     * - minOccurs: 0
     * @var \StructType\Position_DataType
     */
    public $Position_Data;
    /**
     * Constructor method for Position_RestrictionType
     * @uses Position_RestrictionType::setPosition_Reference()
     * @uses Position_RestrictionType::setPosition_Data()
     * @param \StructType\Position_RestrictionsObjectType $position_Reference
     * @param \StructType\Position_DataType $position_Data
     */
    public function __construct(\StructType\Position_RestrictionsObjectType $position_Reference = null, \StructType\Position_DataType $position_Data = null)
    {
        $this
            ->setPosition_Reference($position_Reference)
            ->setPosition_Data($position_Data);
    }
    /**
     * Get Position_Reference value
     * @return \StructType\Position_RestrictionsObjectType|null
     */
    public function getPosition_Reference()
    {
        return $this->Position_Reference;
    }
    /**
     * Set Position_Reference value
     * @param \StructType\Position_RestrictionsObjectType $position_Reference
     * @return \StructType\Position_RestrictionType
     */
    public function setPosition_Reference(\StructType\Position_RestrictionsObjectType $position_Reference = null)
    {
        $this->Position_Reference = $position_Reference;
        return $this;
    }
    /**
     * Get Position_Data value
     * @return \StructType\Position_DataType|null
     */
    public function getPosition_Data()
    {
        return $this->Position_Data;
    }
    /**
     * Set Position_Data value
     * @param \StructType\Position_DataType $position_Data
     * @return \StructType\Position_RestrictionType
     */
    public function setPosition_Data(\StructType\Position_DataType $position_Data = null)
    {
        $this->Position_Data = $position_Data;
        return $this;
    }
}
