<?php
/**
 * File for class DhlApiStructCreateShipmentRequest
 * @package DhlApi
 * @subpackage Structs
 * @author WsdlToPhp Team <contact@wsdltophp.com>
 * @version 20140325-01
 * @date 2015-02-05
 */
/**
 * This class stands for DhlApiStructCreateShipmentRequest originally named CreateShipmentRequest
 * Meta informations extracted from the WSDL
 * - from schema : {@link https://dhl24.com.pl/webapi2.html}
 * @package DhlApi
 * @subpackage Structs
 * @author WsdlToPhp Team <contact@wsdltophp.com>
 * @version 20140325-01
 * @date 2015-02-05
 */
class DhlApiStructCreateShipmentRequest extends DhlApiWsdlClass
{
    /**
     * The shipmentInfo
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var DhlApiStructShipmentInfo
     */
    public $shipmentInfo;
    /**
     * The content
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var string
     */
    public $content;
    /**
     * The comment
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var string
     */
    public $comment;
    /**
     * The reference
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var string
     */
    public $reference;
    /**
     * The ship
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var DhlApiStructShip
     */
    public $ship;
    /**
     * The pieceList
     * Meta informations extracted from the WSDL
     * - nillable : true
     * @var DhlApiStructArrayOfPackage
     */
    public $pieceList;
    /**
     * Constructor method for CreateShipmentRequest
     * @see parent::__construct()
     * @param DhlApiStructShipmentInfo $_shipmentInfo
     * @param string $_content
     * @param string $_comment
     * @param string $_reference
     * @param DhlApiStructShip $_ship
     * @param DhlApiStructArrayOfPackage $_pieceList
     * @return DhlApiStructCreateShipmentRequest
     */
    public function __construct($_shipmentInfo = NULL,$_content = NULL,$_comment = NULL,$_reference = NULL,$_ship = NULL,$_pieceList = NULL)
    {
        parent::__construct(array('shipmentInfo'=>$_shipmentInfo,'content'=>$_content,'comment'=>$_comment,'reference'=>$_reference,'ship'=>$_ship,'pieceList'=>($_pieceList instanceof DhlApiStructArrayOfPackage)?$_pieceList:new DhlApiStructArrayOfPackage($_pieceList)),false);
    }
    /**
     * Get shipmentInfo value
     * @return DhlApiStructShipmentInfo|null
     */
    public function getShipmentInfo()
    {
        return $this->shipmentInfo;
    }
    /**
     * Set shipmentInfo value
     * @param DhlApiStructShipmentInfo $_shipmentInfo the shipmentInfo
     * @return DhlApiStructShipmentInfo
     */
    public function setShipmentInfo($_shipmentInfo)
    {
        return ($this->shipmentInfo = $_shipmentInfo);
    }
    /**
     * Get content value
     * @return string|null
     */
    public function getContent()
    {
        return $this->content;
    }
    /**
     * Set content value
     * @param string $_content the content
     * @return string
     */
    public function setContent($_content)
    {
        return ($this->content = $_content);
    }
    /**
     * Get comment value
     * @return string|null
     */
    public function getComment()
    {
        return $this->comment;
    }
    /**
     * Set comment value
     * @param string $_comment the comment
     * @return string
     */
    public function setComment($_comment)
    {
        return ($this->comment = $_comment);
    }
    /**
     * Get reference value
     * @return string|null
     */
    public function getReference()
    {
        return $this->reference;
    }
    /**
     * Set reference value
     * @param string $_reference the reference
     * @return string
     */
    public function setReference($_reference)
    {
        return ($this->reference = $_reference);
    }
    /**
     * Get ship value
     * @return DhlApiStructShip|null
     */
    public function getShip()
    {
        return $this->ship;
    }
    /**
     * Set ship value
     * @param DhlApiStructShip $_ship the ship
     * @return DhlApiStructShip
     */
    public function setShip($_ship)
    {
        return ($this->ship = $_ship);
    }
    /**
     * Get pieceList value
     * @return DhlApiStructArrayOfPackage|null
     */
    public function getPieceList()
    {
        return $this->pieceList;
    }
    /**
     * Set pieceList value
     * @param DhlApiStructArrayOfPackage $_pieceList the pieceList
     * @return DhlApiStructArrayOfPackage
     */
    public function setPieceList($_pieceList)
    {
        return ($this->pieceList = $_pieceList);
    }
    /**
     * Method called when an object has been exported with var_export() functions
     * It allows to return an object instantiated with the values
     * @see DhlApiWsdlClass::__set_state()
     * @uses DhlApiWsdlClass::__set_state()
     * @param array $_array the exported values
     * @return DhlApiStructCreateShipmentRequest
     */
    public static function __set_state(array $_array,$_className = __CLASS__)
    {
        return parent::__set_state($_array,$_className);
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
