<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: common.proto

namespace Google\Cloud\BigQuery\DataExchange\Common;

use UnexpectedValueException;

/**
 * Listing categories.
 *
 * Protobuf type <code>google.cloud.bigquery.dataexchange.common.Category</code>
 */
class Category
{
    /**
     * Generated from protobuf enum <code>CATEGORY_UNSPECIFIED = 0;</code>
     */
    const CATEGORY_UNSPECIFIED = 0;
    /**
     * Generated from protobuf enum <code>CATEGORY_OTHERS = 1;</code>
     */
    const CATEGORY_OTHERS = 1;
    /**
     * Generated from protobuf enum <code>CATEGORY_ADVERTISING_AND_MARKETING = 2;</code>
     */
    const CATEGORY_ADVERTISING_AND_MARKETING = 2;
    /**
     * Generated from protobuf enum <code>CATEGORY_COMMERCE = 3;</code>
     */
    const CATEGORY_COMMERCE = 3;
    /**
     * Generated from protobuf enum <code>CATEGORY_CLIMATE_AND_ENVIRONMENT = 4;</code>
     */
    const CATEGORY_CLIMATE_AND_ENVIRONMENT = 4;
    /**
     * Generated from protobuf enum <code>CATEGORY_DEMOGRAPHICS = 5;</code>
     */
    const CATEGORY_DEMOGRAPHICS = 5;
    /**
     * Generated from protobuf enum <code>CATEGORY_ECONOMICS = 6;</code>
     */
    const CATEGORY_ECONOMICS = 6;
    /**
     * Generated from protobuf enum <code>CATEGORY_EDUCATION = 7;</code>
     */
    const CATEGORY_EDUCATION = 7;
    /**
     * Generated from protobuf enum <code>CATEGORY_ENERGY = 8;</code>
     */
    const CATEGORY_ENERGY = 8;
    /**
     * Generated from protobuf enum <code>CATEGORY_FINANCIAL = 9;</code>
     */
    const CATEGORY_FINANCIAL = 9;
    /**
     * Generated from protobuf enum <code>CATEGORY_GAMING = 10;</code>
     */
    const CATEGORY_GAMING = 10;
    /**
     * Generated from protobuf enum <code>CATEGORY_GEOSPATIAL = 11;</code>
     */
    const CATEGORY_GEOSPATIAL = 11;
    /**
     * Generated from protobuf enum <code>CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE = 12;</code>
     */
    const CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE = 12;
    /**
     * Generated from protobuf enum <code>CATEGORY_MEDIA = 13;</code>
     */
    const CATEGORY_MEDIA = 13;
    /**
     * Generated from protobuf enum <code>CATEGORY_PUBLIC_SECTOR = 14;</code>
     */
    const CATEGORY_PUBLIC_SECTOR = 14;
    /**
     * Generated from protobuf enum <code>CATEGORY_RETAIL = 15;</code>
     */
    const CATEGORY_RETAIL = 15;
    /**
     * Generated from protobuf enum <code>CATEGORY_SPORTS = 16;</code>
     */
    const CATEGORY_SPORTS = 16;
    /**
     * Generated from protobuf enum <code>CATEGORY_SCIENCE_AND_RESEARCH = 17;</code>
     */
    const CATEGORY_SCIENCE_AND_RESEARCH = 17;
    /**
     * Generated from protobuf enum <code>CATEGORY_TRANSPORTATION_AND_LOGISTICS = 18;</code>
     */
    const CATEGORY_TRANSPORTATION_AND_LOGISTICS = 18;
    /**
     * Generated from protobuf enum <code>CATEGORY_TRAVEL_AND_TOURISM = 19;</code>
     */
    const CATEGORY_TRAVEL_AND_TOURISM = 19;

    private static $valueToName = [
        self::CATEGORY_UNSPECIFIED => 'CATEGORY_UNSPECIFIED',
        self::CATEGORY_OTHERS => 'CATEGORY_OTHERS',
        self::CATEGORY_ADVERTISING_AND_MARKETING => 'CATEGORY_ADVERTISING_AND_MARKETING',
        self::CATEGORY_COMMERCE => 'CATEGORY_COMMERCE',
        self::CATEGORY_CLIMATE_AND_ENVIRONMENT => 'CATEGORY_CLIMATE_AND_ENVIRONMENT',
        self::CATEGORY_DEMOGRAPHICS => 'CATEGORY_DEMOGRAPHICS',
        self::CATEGORY_ECONOMICS => 'CATEGORY_ECONOMICS',
        self::CATEGORY_EDUCATION => 'CATEGORY_EDUCATION',
        self::CATEGORY_ENERGY => 'CATEGORY_ENERGY',
        self::CATEGORY_FINANCIAL => 'CATEGORY_FINANCIAL',
        self::CATEGORY_GAMING => 'CATEGORY_GAMING',
        self::CATEGORY_GEOSPATIAL => 'CATEGORY_GEOSPATIAL',
        self::CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE => 'CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE',
        self::CATEGORY_MEDIA => 'CATEGORY_MEDIA',
        self::CATEGORY_PUBLIC_SECTOR => 'CATEGORY_PUBLIC_SECTOR',
        self::CATEGORY_RETAIL => 'CATEGORY_RETAIL',
        self::CATEGORY_SPORTS => 'CATEGORY_SPORTS',
        self::CATEGORY_SCIENCE_AND_RESEARCH => 'CATEGORY_SCIENCE_AND_RESEARCH',
        self::CATEGORY_TRANSPORTATION_AND_LOGISTICS => 'CATEGORY_TRANSPORTATION_AND_LOGISTICS',
        self::CATEGORY_TRAVEL_AND_TOURISM => 'CATEGORY_TRAVEL_AND_TOURISM',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

