<?php

namespace StructType;

use \WsdlToPhp\PackageBase\AbstractStructBase;

/**
 * This class stands for VehicleSelection_With_NextStop_Info StructType
 * @subpackage Structs
 */
class VehicleSelection_With_NextStop_Info extends VehicleSelection
{
    /**
     * The IncludeNextStopInfo
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $IncludeNextStopInfo;
    /**
     * The ExcludeInactive
     * Meta information extracted from the WSDL
     * - maxOccurs: 1
     * - minOccurs: 1
     * - nillable: true
     * @var bool
     */
    public $ExcludeInactive;
    /**
     * Constructor method for VehicleSelection_With_NextStop_Info
     * @uses VehicleSelection_With_NextStop_Info::setIncludeNextStopInfo()
     * @uses VehicleSelection_With_NextStop_Info::setExcludeInactive()
     * @param bool $includeNextStopInfo
     * @param bool $excludeInactive
     */
    public function __construct($includeNextStopInfo = null, $excludeInactive = null)
    {
        $this
            ->setIncludeNextStopInfo($includeNextStopInfo)
            ->setExcludeInactive($excludeInactive);
    }
    /**
     * Get IncludeNextStopInfo value
     * @return bool
     */
    public function getIncludeNextStopInfo()
    {
        return $this->IncludeNextStopInfo;
    }
    /**
     * Set IncludeNextStopInfo value
     * @param bool $includeNextStopInfo
     * @return \StructType\VehicleSelection_With_NextStop_Info
     */
    public function setIncludeNextStopInfo($includeNextStopInfo = null)
    {
        // validation for constraint: boolean
        if (!is_null($includeNextStopInfo) && !is_bool($includeNextStopInfo)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($includeNextStopInfo, true), gettype($includeNextStopInfo)), __LINE__);
        }
        $this->IncludeNextStopInfo = $includeNextStopInfo;
        return $this;
    }
    /**
     * Get ExcludeInactive value
     * @return bool
     */
    public function getExcludeInactive()
    {
        return $this->ExcludeInactive;
    }
    /**
     * Set ExcludeInactive value
     * @param bool $excludeInactive
     * @return \StructType\VehicleSelection_With_NextStop_Info
     */
    public function setExcludeInactive($excludeInactive = null)
    {
        // validation for constraint: boolean
        if (!is_null($excludeInactive) && !is_bool($excludeInactive)) {
            throw new \InvalidArgumentException(sprintf('Invalid value %s, please provide a bool, %s given', var_export($excludeInactive, true), gettype($excludeInactive)), __LINE__);
        }
        $this->ExcludeInactive = $excludeInactive;
        return $this;
    }
}
