<?php

namespace Sabre\OTAAirPrice\Structs;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for SizeWeightInfo Structs
 * @subpackage Structs
 */
class SizeWeightInfo extends AbstractStructBase
{
    /**
     * The MaximumSizeInAlternate
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate
     */
    public $MaximumSizeInAlternate;
    /**
     * The MaximumSize
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MaximumSize
     */
    public $MaximumSize;
    /**
     * The MaximumWeightInAlternate
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate
     */
    public $MaximumWeightInAlternate;
    /**
     * The MaximumWeight
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MaximumWeight
     */
    public $MaximumWeight;
    /**
     * The MinimumSizeInAlternate
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate
     */
    public $MinimumSizeInAlternate;
    /**
     * The MinimumSize
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MinimumSize
     */
    public $MinimumSize;
    /**
     * The MinimumWeightInAlternate
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate
     */
    public $MinimumWeightInAlternate;
    /**
     * The MinimumWeight
     * Meta informations extracted from the WSDL
     * - minOccurs: 0
     * @var \Sabre\OTAAirPrice\Structs\MinimumWeight
     */
    public $MinimumWeight;
    /**
     * Constructor method for SizeWeightInfo
     * @uses SizeWeightInfo::setMaximumSizeInAlternate()
     * @uses SizeWeightInfo::setMaximumSize()
     * @uses SizeWeightInfo::setMaximumWeightInAlternate()
     * @uses SizeWeightInfo::setMaximumWeight()
     * @uses SizeWeightInfo::setMinimumSizeInAlternate()
     * @uses SizeWeightInfo::setMinimumSize()
     * @uses SizeWeightInfo::setMinimumWeightInAlternate()
     * @uses SizeWeightInfo::setMinimumWeight()
     * @param \Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate $maximumSizeInAlternate
     * @param \Sabre\OTAAirPrice\Structs\MaximumSize $maximumSize
     * @param \Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate $maximumWeightInAlternate
     * @param \Sabre\OTAAirPrice\Structs\MaximumWeight $maximumWeight
     * @param \Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate $minimumSizeInAlternate
     * @param \Sabre\OTAAirPrice\Structs\MinimumSize $minimumSize
     * @param \Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate $minimumWeightInAlternate
     * @param \Sabre\OTAAirPrice\Structs\MinimumWeight $minimumWeight
     */
    public function __construct(\Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate $maximumSizeInAlternate = null, \Sabre\OTAAirPrice\Structs\MaximumSize $maximumSize = null, \Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate $maximumWeightInAlternate = null, \Sabre\OTAAirPrice\Structs\MaximumWeight $maximumWeight = null, \Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate $minimumSizeInAlternate = null, \Sabre\OTAAirPrice\Structs\MinimumSize $minimumSize = null, \Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate $minimumWeightInAlternate = null, \Sabre\OTAAirPrice\Structs\MinimumWeight $minimumWeight = null)
    {
        $this
            ->setMaximumSizeInAlternate($maximumSizeInAlternate)
            ->setMaximumSize($maximumSize)
            ->setMaximumWeightInAlternate($maximumWeightInAlternate)
            ->setMaximumWeight($maximumWeight)
            ->setMinimumSizeInAlternate($minimumSizeInAlternate)
            ->setMinimumSize($minimumSize)
            ->setMinimumWeightInAlternate($minimumWeightInAlternate)
            ->setMinimumWeight($minimumWeight);
    }
    /**
     * Get MaximumSizeInAlternate value
     * @return \Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate|null
     */
    public function getMaximumSizeInAlternate()
    {
        return $this->MaximumSizeInAlternate;
    }
    /**
     * Set MaximumSizeInAlternate value
     * @param \Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate $maximumSizeInAlternate
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMaximumSizeInAlternate(\Sabre\OTAAirPrice\Structs\MaximumSizeInAlternate $maximumSizeInAlternate = null)
    {
        $this->MaximumSizeInAlternate = $maximumSizeInAlternate;
        return $this;
    }
    /**
     * Get MaximumSize value
     * @return \Sabre\OTAAirPrice\Structs\MaximumSize|null
     */
    public function getMaximumSize()
    {
        return $this->MaximumSize;
    }
    /**
     * Set MaximumSize value
     * @param \Sabre\OTAAirPrice\Structs\MaximumSize $maximumSize
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMaximumSize(\Sabre\OTAAirPrice\Structs\MaximumSize $maximumSize = null)
    {
        $this->MaximumSize = $maximumSize;
        return $this;
    }
    /**
     * Get MaximumWeightInAlternate value
     * @return \Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate|null
     */
    public function getMaximumWeightInAlternate()
    {
        return $this->MaximumWeightInAlternate;
    }
    /**
     * Set MaximumWeightInAlternate value
     * @param \Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate $maximumWeightInAlternate
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMaximumWeightInAlternate(\Sabre\OTAAirPrice\Structs\MaximumWeightInAlternate $maximumWeightInAlternate = null)
    {
        $this->MaximumWeightInAlternate = $maximumWeightInAlternate;
        return $this;
    }
    /**
     * Get MaximumWeight value
     * @return \Sabre\OTAAirPrice\Structs\MaximumWeight|null
     */
    public function getMaximumWeight()
    {
        return $this->MaximumWeight;
    }
    /**
     * Set MaximumWeight value
     * @param \Sabre\OTAAirPrice\Structs\MaximumWeight $maximumWeight
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMaximumWeight(\Sabre\OTAAirPrice\Structs\MaximumWeight $maximumWeight = null)
    {
        $this->MaximumWeight = $maximumWeight;
        return $this;
    }
    /**
     * Get MinimumSizeInAlternate value
     * @return \Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate|null
     */
    public function getMinimumSizeInAlternate()
    {
        return $this->MinimumSizeInAlternate;
    }
    /**
     * Set MinimumSizeInAlternate value
     * @param \Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate $minimumSizeInAlternate
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMinimumSizeInAlternate(\Sabre\OTAAirPrice\Structs\MinimumSizeInAlternate $minimumSizeInAlternate = null)
    {
        $this->MinimumSizeInAlternate = $minimumSizeInAlternate;
        return $this;
    }
    /**
     * Get MinimumSize value
     * @return \Sabre\OTAAirPrice\Structs\MinimumSize|null
     */
    public function getMinimumSize()
    {
        return $this->MinimumSize;
    }
    /**
     * Set MinimumSize value
     * @param \Sabre\OTAAirPrice\Structs\MinimumSize $minimumSize
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMinimumSize(\Sabre\OTAAirPrice\Structs\MinimumSize $minimumSize = null)
    {
        $this->MinimumSize = $minimumSize;
        return $this;
    }
    /**
     * Get MinimumWeightInAlternate value
     * @return \Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate|null
     */
    public function getMinimumWeightInAlternate()
    {
        return $this->MinimumWeightInAlternate;
    }
    /**
     * Set MinimumWeightInAlternate value
     * @param \Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate $minimumWeightInAlternate
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMinimumWeightInAlternate(\Sabre\OTAAirPrice\Structs\MinimumWeightInAlternate $minimumWeightInAlternate = null)
    {
        $this->MinimumWeightInAlternate = $minimumWeightInAlternate;
        return $this;
    }
    /**
     * Get MinimumWeight value
     * @return \Sabre\OTAAirPrice\Structs\MinimumWeight|null
     */
    public function getMinimumWeight()
    {
        return $this->MinimumWeight;
    }
    /**
     * Set MinimumWeight value
     * @param \Sabre\OTAAirPrice\Structs\MinimumWeight $minimumWeight
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public function setMinimumWeight(\Sabre\OTAAirPrice\Structs\MinimumWeight $minimumWeight = null)
    {
        $this->MinimumWeight = $minimumWeight;
        return $this;
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see AbstractStructBase::__set_state()
     * @uses AbstractStructBase::__set_state()
     * @param array $array the exported values
     * @return \Sabre\OTAAirPrice\Structs\SizeWeightInfo
     */
    public static function __set_state(array $array)
    {
        return parent::__set_state($array);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
