| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <?php
- namespace Google\Protobuf\Internal;
- use Google\Protobuf\EnumValueDescriptor;
- class EnumDescriptor
- {
- use HasPublicDescriptorTrait;
- private $klass;
- private $legacy_klass;
- private $full_name;
- private $value;
- private $name_to_value;
- private $value_descriptor = [];
- public function __construct()
- {
- $this->public_desc = new \Google\Protobuf\EnumDescriptor($this);
- }
- public function setFullName($full_name)
- {
- $this->full_name = $full_name;
- }
- public function getFullName()
- {
- return $this->full_name;
- }
- public function addValue($number, $value)
- {
- $this->value[$number] = $value;
- $this->name_to_value[$value->getName()] = $value;
- $this->value_descriptor[] = new EnumValueDescriptor($value->getName(), $number);
- }
- public function getValueByNumber($number)
- {
- return $this->value[$number];
- }
- public function getValueByName($name)
- {
- return $this->name_to_value[$name];
- }
- public function getValueDescriptorByIndex($index)
- {
- return $this->value_descriptor[$index];
- }
- public function getValueCount()
- {
- return count($this->value);
- }
- public function setClass($klass)
- {
- $this->klass = $klass;
- }
- public function getClass()
- {
- return $this->klass;
- }
- public function setLegacyClass($klass)
- {
- $this->legacy_klass = $klass;
- }
- public function getLegacyClass()
- {
- return $this->legacy_klass;
- }
- public static function buildFromProto($proto, $file_proto, $containing)
- {
- $desc = new EnumDescriptor();
- $enum_name_without_package = "";
- $classname = "";
- $legacy_classname = "";
- $fullname = "";
- GPBUtil::getFullClassName(
- $proto,
- $containing,
- $file_proto,
- $enum_name_without_package,
- $classname,
- $legacy_classname,
- $fullname);
- $desc->setFullName($fullname);
- $desc->setClass($classname);
- $desc->setLegacyClass($legacy_classname);
- $values = $proto->getValue();
- foreach ($values as $value) {
- $desc->addValue($value->getNumber(), $value);
- }
- return $desc;
- }
- }
|