<?php

namespace EnumType;

/**
 * This class stands for ReportTypeEnumeration EnumType
 * Meta informations extracted from the WSDL
 * - documentation: Values for Report Type TPEG pti_table 27.
 * @subpackage Enumerations
 */
class ReportTypeEnumeration
{
    /**
     * Constant for value '27_0'
     * @return string '27_0'
     */
    const VALUE_27_0 = '27_0';
    /**
     * Constant for value 'unknown'
     * @return string 'unknown'
     */
    const VALUE_UNKNOWN = 'unknown';
    /**
     * Constant for value '27_1'
     * @return string '27_1'
     */
    const VALUE_27_1 = '27_1';
    /**
     * Constant for value 'incident'
     * @return string 'incident'
     */
    const VALUE_INCIDENT = 'incident';
    /**
     * Constant for value '27_1_Alias_1'
     * @return string '27_1_Alias_1'
     */
    const VALUE_27_1_ALIAS_1 = '27_1_Alias_1';
    /**
     * Constant for value 'general'
     * @return string 'general'
     */
    const VALUE_GENERAL = 'general';
    /**
     * Constant for value '2_27_1_Alias_2'
     * @return string '2_27_1_Alias_2'
     */
    const VALUE_2_27_1_ALIAS_2 = '2_27_1_Alias_2';
    /**
     * Constant for value 'operator'
     * @return string 'operator'
     */
    const VALUE_OPERATOR = 'operator';
    /**
     * Constant for value '2_27_1_Alias_3'
     * @return string '2_27_1_Alias_3'
     */
    const VALUE_2_27_1_ALIAS_3 = '2_27_1_Alias_3';
    /**
     * Constant for value 'network'
     * @return string 'network'
     */
    const VALUE_NETWORK = 'network';
    /**
     * Constant for value '27_3'
     * @return string '27_3'
     */
    const VALUE_27_3 = '27_3';
    /**
     * Constant for value 'route'
     * @return string 'route'
     */
    const VALUE_ROUTE = 'route';
    /**
     * Constant for value '27_2'
     * @return string '27_2'
     */
    const VALUE_27_2 = '27_2';
    /**
     * Constant for value 'stationTerminal'
     * @return string 'stationTerminal'
     */
    const VALUE_STATION_TERMINAL = 'stationTerminal';
    /**
     * Constant for value '27_2_Alias_1'
     * @return string '27_2_Alias_1'
     */
    const VALUE_27_2_ALIAS_1 = '27_2_Alias_1';
    /**
     * Constant for value 'stopPoint'
     * @return string 'stopPoint'
     */
    const VALUE_STOP_POINT = 'stopPoint';
    /**
     * Constant for value '27_2_Alias_2'
     * @return string '27_2_Alias_2'
     */
    const VALUE_27_2_ALIAS_2 = '27_2_Alias_2';
    /**
     * Constant for value 'connectionLink'
     * @return string 'connectionLink'
     */
    const VALUE_CONNECTION_LINK = 'connectionLink';
    /**
     * Constant for value '27_2_Alias_3'
     * @return string '27_2_Alias_3'
     */
    const VALUE_27_2_ALIAS_3 = '27_2_Alias_3';
    /**
     * Constant for value 'point'
     * @return string 'point'
     */
    const VALUE_POINT = 'point';
    /**
     * Constant for value '27_4'
     * @return string '27_4'
     */
    const VALUE_27_4 = '27_4';
    /**
     * Constant for value 'individualService'
     * @return string 'individualService'
     */
    const VALUE_INDIVIDUAL_SERVICE = 'individualService';
    /**
     * Constant for value '27_255'
     * @return string '27_255'
     */
    const VALUE_27_255 = '27_255';
    /**
     * Constant for value 'undefined'
     * @return string 'undefined'
     */
    const VALUE_UNDEFINED = 'undefined';
    /**
     * Return true if value is allowed
     * @uses self::getValidValues()
     * @param mixed $value value
     * @return bool true|false
     */
    public static function valueIsValid($value)
    {
        return ($value === null) || in_array($value, self::getValidValues(), true);
    }
    /**
     * Return allowed values
     * @uses self::VALUE_27_0
     * @uses self::VALUE_UNKNOWN
     * @uses self::VALUE_27_1
     * @uses self::VALUE_INCIDENT
     * @uses self::VALUE_27_1_ALIAS_1
     * @uses self::VALUE_GENERAL
     * @uses self::VALUE_2_27_1_ALIAS_2
     * @uses self::VALUE_OPERATOR
     * @uses self::VALUE_2_27_1_ALIAS_3
     * @uses self::VALUE_NETWORK
     * @uses self::VALUE_27_3
     * @uses self::VALUE_ROUTE
     * @uses self::VALUE_27_2
     * @uses self::VALUE_STATION_TERMINAL
     * @uses self::VALUE_27_2_ALIAS_1
     * @uses self::VALUE_STOP_POINT
     * @uses self::VALUE_27_2_ALIAS_2
     * @uses self::VALUE_CONNECTION_LINK
     * @uses self::VALUE_27_2_ALIAS_3
     * @uses self::VALUE_POINT
     * @uses self::VALUE_27_4
     * @uses self::VALUE_INDIVIDUAL_SERVICE
     * @uses self::VALUE_27_255
     * @uses self::VALUE_UNDEFINED
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_27_0,
            self::VALUE_UNKNOWN,
            self::VALUE_27_1,
            self::VALUE_INCIDENT,
            self::VALUE_27_1_ALIAS_1,
            self::VALUE_GENERAL,
            self::VALUE_2_27_1_ALIAS_2,
            self::VALUE_OPERATOR,
            self::VALUE_2_27_1_ALIAS_3,
            self::VALUE_NETWORK,
            self::VALUE_27_3,
            self::VALUE_ROUTE,
            self::VALUE_27_2,
            self::VALUE_STATION_TERMINAL,
            self::VALUE_27_2_ALIAS_1,
            self::VALUE_STOP_POINT,
            self::VALUE_27_2_ALIAS_2,
            self::VALUE_CONNECTION_LINK,
            self::VALUE_27_2_ALIAS_3,
            self::VALUE_POINT,
            self::VALUE_27_4,
            self::VALUE_INDIVIDUAL_SERVICE,
            self::VALUE_27_255,
            self::VALUE_UNDEFINED,
        );
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
