<?php

namespace CustomerManagement\EnumType;

/**
 * This class stands for NetworkEnum EnumType
 * @subpackage Enumerations
 */
class NetworkEnum
{
    /**
     * Constant for value 'NotSet'
     * @return string 'NotSet'
     */
    const VALUE_NOT_SET = 'NotSet';
    /**
     * Constant for value 'Skytel'
     * @return string 'Skytel'
     */
    const VALUE_SKYTEL = 'Skytel';
    /**
     * Constant for value 'WebLink'
     * @return string 'WebLink'
     */
    const VALUE_WEB_LINK = 'WebLink';
    /**
     * Constant for value 'GSM'
     * @return string 'GSM'
     */
    const VALUE_GSM = 'GSM';
    /**
     * Constant for value 'Broadband'
     * @return string 'Broadband'
     */
    const VALUE_BROADBAND = 'Broadband';
    /**
     * Constant for value 'GSM2'
     * @return string 'GSM2'
     */
    const VALUE_GSM_2 = 'GSM2';
    /**
     * Constant for value 'GsmCanada'
     * @return string 'GsmCanada'
     */
    const VALUE_GSM_CANADA = 'GsmCanada';
    /**
     * Constant for value 'TMobile'
     * @return string 'TMobile'
     */
    const VALUE_TMOBILE = 'TMobile';
    /**
     * Constant for value 'TMobilePartner1'
     * @return string 'TMobilePartner1'
     */
    const VALUE_TMOBILE_PARTNER_1 = 'TMobilePartner1';
    /**
     * Constant for value 'GsmCanada2'
     * @return string 'GsmCanada2'
     */
    const VALUE_GSM_CANADA_2 = 'GsmCanada2';
    /**
     * Constant for value 'Rogers'
     * @return string 'Rogers'
     */
    const VALUE_ROGERS = 'Rogers';
    /**
     * Constant for value 'RogersPartner1'
     * @return string 'RogersPartner1'
     */
    const VALUE_ROGERS_PARTNER_1 = 'RogersPartner1';
    /**
     * Constant for value 'ATTPartner1'
     * @return string 'ATTPartner1'
     */
    const VALUE_ATTPARTNER_1 = 'ATTPartner1';
    /**
     * Constant for value 'Verizon'
     * @return string 'Verizon'
     */
    const VALUE_VERIZON = 'Verizon';
    /**
     * Constant for value 'Telefonica'
     * @return string 'Telefonica'
     */
    const VALUE_TELEFONICA = 'Telefonica';
    /**
     * Constant for value 'DealerProvisioned'
     * @return string 'DealerProvisioned'
     */
    const VALUE_DEALER_PROVISIONED = 'DealerProvisioned';
    /**
     * Constant for value 'Oi'
     * @return string 'Oi'
     */
    const VALUE_OI = 'Oi';
    /**
     * Constant for value 'Vivo'
     * @return string 'Vivo'
     */
    const VALUE_VIVO = 'Vivo';
    /**
     * Constant for value 'Vodafone'
     * @return string 'Vodafone'
     */
    const VALUE_VODAFONE = 'Vodafone';
    /**
     * Constant for value 'VerizonPartner1'
     * @return string 'VerizonPartner1'
     */
    const VALUE_VERIZON_PARTNER_1 = 'VerizonPartner1';
    /**
     * Constant for value 'Turkcell'
     * @return string 'Turkcell'
     */
    const VALUE_TURKCELL = 'Turkcell';
    /**
     * Constant for value 'USCellular'
     * @return string 'USCellular'
     */
    const VALUE_USCELLULAR = 'USCellular';
    /**
     * Constant for value 'Digicel'
     * @return string 'Digicel'
     */
    const VALUE_DIGICEL = 'Digicel';
    /**
     * Constant for value 'Spark'
     * @return string 'Spark'
     */
    const VALUE_SPARK = 'Spark';
    /**
     * Constant for value 'Cotas'
     * @return string 'Cotas'
     */
    const VALUE_COTAS = 'Cotas';
    /**
     * Constant for value 'Eastlink'
     * @return string 'Eastlink'
     */
    const VALUE_EASTLINK = 'Eastlink';
    /**
     * Constant for value 'TMDATA'
     * @return string 'TMDATA'
     */
    const VALUE_TMDATA = 'TMDATA';
    /**
     * Constant for value 'Millicom'
     * @return string 'Millicom'
     */
    const VALUE_MILLICOM = 'Millicom';
    /**
     * Constant for value 'TelefonicaPartner2'
     * @return string 'TelefonicaPartner2'
     */
    const VALUE_TELEFONICA_PARTNER_2 = 'TelefonicaPartner2';
    /**
     * Constant for value 'Telus'
     * @return string 'Telus'
     */
    const VALUE_TELUS = 'Telus';
    /**
     * Constant for value 'BellCanada'
     * @return string 'BellCanada'
     */
    const VALUE_BELL_CANADA = 'BellCanada';
    /**
     * Constant for value 'DealerProvisionedNoVpn'
     * @return string 'DealerProvisionedNoVpn'
     */
    const VALUE_DEALER_PROVISIONED_NO_VPN = 'DealerProvisionedNoVpn';
    /**
     * 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_NOT_SET
     * @uses self::VALUE_SKYTEL
     * @uses self::VALUE_WEB_LINK
     * @uses self::VALUE_GSM
     * @uses self::VALUE_BROADBAND
     * @uses self::VALUE_GSM_2
     * @uses self::VALUE_GSM_CANADA
     * @uses self::VALUE_TMOBILE
     * @uses self::VALUE_TMOBILE_PARTNER_1
     * @uses self::VALUE_GSM_CANADA_2
     * @uses self::VALUE_ROGERS
     * @uses self::VALUE_ROGERS_PARTNER_1
     * @uses self::VALUE_ATTPARTNER_1
     * @uses self::VALUE_VERIZON
     * @uses self::VALUE_TELEFONICA
     * @uses self::VALUE_DEALER_PROVISIONED
     * @uses self::VALUE_OI
     * @uses self::VALUE_VIVO
     * @uses self::VALUE_VODAFONE
     * @uses self::VALUE_VERIZON_PARTNER_1
     * @uses self::VALUE_TURKCELL
     * @uses self::VALUE_USCELLULAR
     * @uses self::VALUE_DIGICEL
     * @uses self::VALUE_SPARK
     * @uses self::VALUE_COTAS
     * @uses self::VALUE_EASTLINK
     * @uses self::VALUE_TMDATA
     * @uses self::VALUE_MILLICOM
     * @uses self::VALUE_TELEFONICA_PARTNER_2
     * @uses self::VALUE_TELUS
     * @uses self::VALUE_BELL_CANADA
     * @uses self::VALUE_DEALER_PROVISIONED_NO_VPN
     * @return string[]
     */
    public static function getValidValues()
    {
        return array(
            self::VALUE_NOT_SET,
            self::VALUE_SKYTEL,
            self::VALUE_WEB_LINK,
            self::VALUE_GSM,
            self::VALUE_BROADBAND,
            self::VALUE_GSM_2,
            self::VALUE_GSM_CANADA,
            self::VALUE_TMOBILE,
            self::VALUE_TMOBILE_PARTNER_1,
            self::VALUE_GSM_CANADA_2,
            self::VALUE_ROGERS,
            self::VALUE_ROGERS_PARTNER_1,
            self::VALUE_ATTPARTNER_1,
            self::VALUE_VERIZON,
            self::VALUE_TELEFONICA,
            self::VALUE_DEALER_PROVISIONED,
            self::VALUE_OI,
            self::VALUE_VIVO,
            self::VALUE_VODAFONE,
            self::VALUE_VERIZON_PARTNER_1,
            self::VALUE_TURKCELL,
            self::VALUE_USCELLULAR,
            self::VALUE_DIGICEL,
            self::VALUE_SPARK,
            self::VALUE_COTAS,
            self::VALUE_EASTLINK,
            self::VALUE_TMDATA,
            self::VALUE_MILLICOM,
            self::VALUE_TELEFONICA_PARTNER_2,
            self::VALUE_TELUS,
            self::VALUE_BELL_CANADA,
            self::VALUE_DEALER_PROVISIONED_NO_VPN,
        );
    }
    /**
     * Method returning the class name
     * @return string __CLASS__
     */
    public function __toString()
    {
        return __CLASS__;
    }
}
