<?php

namespace Sabre\EnhancedAirBook\Structs;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for Message.Condition Structs
 * Meta informations extracted from the WSDL
 * - documentation: Free text and code provided by the application or system that detected the condition. Contents may be anything the system detecting the error chooses to convey. Used by service consumers. Codes and/or messages should be agreed upon
 * by service users. Do not use for structured data, use parameters instead. | Same as STL Text.Long - A field text characters and no other constraints.
 * - maxLength: 4096
 * - minLength: 0
 * @subpackage Structs
 */
class Message_Condition extends AbstractStructBase
{
    /**
     * The _
     * Meta informations extracted from the WSDL
     * - documentation: Same as STL Text.Long - A field text characters and no other constraints.
     * - maxLength: 4096
     * - minLength: 0
     * @var string
     */
    public $_;
    /**
     * The code
     * @var string
     */
    public $code;
    /**
     * Constructor method for Message.Condition
     * @uses Message_Condition::set_()
     * @uses Message_Condition::setCode()
     * @param string $_
     * @param string $code
     */
    public function __construct($_ = null, $code = null)
    {
        $this
            ->set_($_)
            ->setCode($code);
    }
    /**
     * Get _ value
     * @return string|null
     */
    public function get_()
    {
        return $this->_;
    }
    /**
     * Set _ value
     * @param string $_
     * @return \Sabre\EnhancedAirBook\Structs\Message_Condition
     */
    public function set_($_ = null)
    {
        $this->_ = $_;
        return $this;
    }
    /**
     * Get code value
     * @return string|null
     */
    public function getCode()
    {
        return $this->code;
    }
    /**
     * Set code value
     * @param string $code
     * @return \Sabre\EnhancedAirBook\Structs\Message_Condition
     */
    public function setCode($code = null)
    {
        $this->code = $code;
        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\EnhancedAirBook\Structs\Message_Condition
     */
    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__;
    }
}
