• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?php
2# Generated by the protocol buffer compiler.  DO NOT EDIT!
3# source: google/protobuf/descriptor.proto
4
5namespace Google\Protobuf\Internal;
6
7use Google\Protobuf\Internal\GPBType;
8use Google\Protobuf\Internal\GPBWire;
9use Google\Protobuf\Internal\RepeatedField;
10use Google\Protobuf\Internal\InputStream;
11use Google\Protobuf\Internal\GPBUtil;
12
13/**
14 * Describes a field within a message.
15 *
16 * Generated from protobuf message <code>google.protobuf.FieldDescriptorProto</code>
17 */
18class FieldDescriptorProto extends \Google\Protobuf\Internal\Message
19{
20    /**
21     * Generated from protobuf field <code>optional string name = 1;</code>
22     */
23    protected $name = null;
24    /**
25     * Generated from protobuf field <code>optional int32 number = 3;</code>
26     */
27    protected $number = null;
28    /**
29     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
30     */
31    protected $label = null;
32    /**
33     * If type_name is set, this need not be set.  If both this and type_name
34     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
35     *
36     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
37     */
38    protected $type = null;
39    /**
40     * For message and enum types, this is the name of the type.  If the name
41     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
42     * rules are used to find the type (i.e. first the nested types within this
43     * message are searched, then within the parent, on up to the root
44     * namespace).
45     *
46     * Generated from protobuf field <code>optional string type_name = 6;</code>
47     */
48    protected $type_name = null;
49    /**
50     * For extensions, this is the name of the type being extended.  It is
51     * resolved in the same manner as type_name.
52     *
53     * Generated from protobuf field <code>optional string extendee = 2;</code>
54     */
55    protected $extendee = null;
56    /**
57     * For numeric types, contains the original text representation of the value.
58     * For booleans, "true" or "false".
59     * For strings, contains the default text contents (not escaped in any way).
60     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
61     *
62     * Generated from protobuf field <code>optional string default_value = 7;</code>
63     */
64    protected $default_value = null;
65    /**
66     * If set, gives the index of a oneof in the containing type's oneof_decl
67     * list.  This field is a member of that oneof.
68     *
69     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
70     */
71    protected $oneof_index = null;
72    /**
73     * JSON name of this field. The value is set by protocol compiler. If the
74     * user has set a "json_name" option on this field, that option's value
75     * will be used. Otherwise, it's deduced from the field's name by converting
76     * it to camelCase.
77     *
78     * Generated from protobuf field <code>optional string json_name = 10;</code>
79     */
80    protected $json_name = null;
81    /**
82     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
83     */
84    protected $options = null;
85    /**
86     * If true, this is a proto3 "optional". When a proto3 field is optional, it
87     * tracks presence regardless of field type.
88     * When proto3_optional is true, this field must be belong to a oneof to
89     * signal to old proto3 clients that presence is tracked for this field. This
90     * oneof is known as a "synthetic" oneof, and this field must be its sole
91     * member (each proto3 optional field gets its own synthetic oneof). Synthetic
92     * oneofs exist in the descriptor only, and do not generate any API. Synthetic
93     * oneofs must be ordered after all "real" oneofs.
94     * For message fields, proto3_optional doesn't create any semantic change,
95     * since non-repeated message fields always track presence. However it still
96     * indicates the semantic detail of whether the user wrote "optional" or not.
97     * This can be useful for round-tripping the .proto file. For consistency we
98     * give message fields a synthetic oneof also, even though it is not required
99     * to track presence. This is especially important because the parser can't
100     * tell if a field is a message or an enum, so it must always create a
101     * synthetic oneof.
102     * Proto2 optional fields do not set this flag, because they already indicate
103     * optional with `LABEL_OPTIONAL`.
104     *
105     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
106     */
107    protected $proto3_optional = null;
108
109    /**
110     * Constructor.
111     *
112     * @param array $data {
113     *     Optional. Data for populating the Message object.
114     *
115     *     @type string $name
116     *     @type int $number
117     *     @type int $label
118     *     @type int $type
119     *           If type_name is set, this need not be set.  If both this and type_name
120     *           are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
121     *     @type string $type_name
122     *           For message and enum types, this is the name of the type.  If the name
123     *           starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
124     *           rules are used to find the type (i.e. first the nested types within this
125     *           message are searched, then within the parent, on up to the root
126     *           namespace).
127     *     @type string $extendee
128     *           For extensions, this is the name of the type being extended.  It is
129     *           resolved in the same manner as type_name.
130     *     @type string $default_value
131     *           For numeric types, contains the original text representation of the value.
132     *           For booleans, "true" or "false".
133     *           For strings, contains the default text contents (not escaped in any way).
134     *           For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
135     *     @type int $oneof_index
136     *           If set, gives the index of a oneof in the containing type's oneof_decl
137     *           list.  This field is a member of that oneof.
138     *     @type string $json_name
139     *           JSON name of this field. The value is set by protocol compiler. If the
140     *           user has set a "json_name" option on this field, that option's value
141     *           will be used. Otherwise, it's deduced from the field's name by converting
142     *           it to camelCase.
143     *     @type \Google\Protobuf\Internal\FieldOptions $options
144     *     @type bool $proto3_optional
145     *           If true, this is a proto3 "optional". When a proto3 field is optional, it
146     *           tracks presence regardless of field type.
147     *           When proto3_optional is true, this field must be belong to a oneof to
148     *           signal to old proto3 clients that presence is tracked for this field. This
149     *           oneof is known as a "synthetic" oneof, and this field must be its sole
150     *           member (each proto3 optional field gets its own synthetic oneof). Synthetic
151     *           oneofs exist in the descriptor only, and do not generate any API. Synthetic
152     *           oneofs must be ordered after all "real" oneofs.
153     *           For message fields, proto3_optional doesn't create any semantic change,
154     *           since non-repeated message fields always track presence. However it still
155     *           indicates the semantic detail of whether the user wrote "optional" or not.
156     *           This can be useful for round-tripping the .proto file. For consistency we
157     *           give message fields a synthetic oneof also, even though it is not required
158     *           to track presence. This is especially important because the parser can't
159     *           tell if a field is a message or an enum, so it must always create a
160     *           synthetic oneof.
161     *           Proto2 optional fields do not set this flag, because they already indicate
162     *           optional with `LABEL_OPTIONAL`.
163     * }
164     */
165    public function __construct($data = NULL) {
166        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
167        parent::__construct($data);
168    }
169
170    /**
171     * Generated from protobuf field <code>optional string name = 1;</code>
172     * @return string
173     */
174    public function getName()
175    {
176        return isset($this->name) ? $this->name : '';
177    }
178
179    public function hasName()
180    {
181        return isset($this->name);
182    }
183
184    public function clearName()
185    {
186        unset($this->name);
187    }
188
189    /**
190     * Generated from protobuf field <code>optional string name = 1;</code>
191     * @param string $var
192     * @return $this
193     */
194    public function setName($var)
195    {
196        GPBUtil::checkString($var, True);
197        $this->name = $var;
198
199        return $this;
200    }
201
202    /**
203     * Generated from protobuf field <code>optional int32 number = 3;</code>
204     * @return int
205     */
206    public function getNumber()
207    {
208        return isset($this->number) ? $this->number : 0;
209    }
210
211    public function hasNumber()
212    {
213        return isset($this->number);
214    }
215
216    public function clearNumber()
217    {
218        unset($this->number);
219    }
220
221    /**
222     * Generated from protobuf field <code>optional int32 number = 3;</code>
223     * @param int $var
224     * @return $this
225     */
226    public function setNumber($var)
227    {
228        GPBUtil::checkInt32($var);
229        $this->number = $var;
230
231        return $this;
232    }
233
234    /**
235     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
236     * @return int
237     */
238    public function getLabel()
239    {
240        return isset($this->label) ? $this->label : 0;
241    }
242
243    public function hasLabel()
244    {
245        return isset($this->label);
246    }
247
248    public function clearLabel()
249    {
250        unset($this->label);
251    }
252
253    /**
254     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Label label = 4;</code>
255     * @param int $var
256     * @return $this
257     */
258    public function setLabel($var)
259    {
260        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Label::class);
261        $this->label = $var;
262
263        return $this;
264    }
265
266    /**
267     * If type_name is set, this need not be set.  If both this and type_name
268     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
269     *
270     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
271     * @return int
272     */
273    public function getType()
274    {
275        return isset($this->type) ? $this->type : 0;
276    }
277
278    public function hasType()
279    {
280        return isset($this->type);
281    }
282
283    public function clearType()
284    {
285        unset($this->type);
286    }
287
288    /**
289     * If type_name is set, this need not be set.  If both this and type_name
290     * are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
291     *
292     * Generated from protobuf field <code>optional .google.protobuf.FieldDescriptorProto.Type type = 5;</code>
293     * @param int $var
294     * @return $this
295     */
296    public function setType($var)
297    {
298        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FieldDescriptorProto\Type::class);
299        $this->type = $var;
300
301        return $this;
302    }
303
304    /**
305     * For message and enum types, this is the name of the type.  If the name
306     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
307     * rules are used to find the type (i.e. first the nested types within this
308     * message are searched, then within the parent, on up to the root
309     * namespace).
310     *
311     * Generated from protobuf field <code>optional string type_name = 6;</code>
312     * @return string
313     */
314    public function getTypeName()
315    {
316        return isset($this->type_name) ? $this->type_name : '';
317    }
318
319    public function hasTypeName()
320    {
321        return isset($this->type_name);
322    }
323
324    public function clearTypeName()
325    {
326        unset($this->type_name);
327    }
328
329    /**
330     * For message and enum types, this is the name of the type.  If the name
331     * starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
332     * rules are used to find the type (i.e. first the nested types within this
333     * message are searched, then within the parent, on up to the root
334     * namespace).
335     *
336     * Generated from protobuf field <code>optional string type_name = 6;</code>
337     * @param string $var
338     * @return $this
339     */
340    public function setTypeName($var)
341    {
342        GPBUtil::checkString($var, True);
343        $this->type_name = $var;
344
345        return $this;
346    }
347
348    /**
349     * For extensions, this is the name of the type being extended.  It is
350     * resolved in the same manner as type_name.
351     *
352     * Generated from protobuf field <code>optional string extendee = 2;</code>
353     * @return string
354     */
355    public function getExtendee()
356    {
357        return isset($this->extendee) ? $this->extendee : '';
358    }
359
360    public function hasExtendee()
361    {
362        return isset($this->extendee);
363    }
364
365    public function clearExtendee()
366    {
367        unset($this->extendee);
368    }
369
370    /**
371     * For extensions, this is the name of the type being extended.  It is
372     * resolved in the same manner as type_name.
373     *
374     * Generated from protobuf field <code>optional string extendee = 2;</code>
375     * @param string $var
376     * @return $this
377     */
378    public function setExtendee($var)
379    {
380        GPBUtil::checkString($var, True);
381        $this->extendee = $var;
382
383        return $this;
384    }
385
386    /**
387     * For numeric types, contains the original text representation of the value.
388     * For booleans, "true" or "false".
389     * For strings, contains the default text contents (not escaped in any way).
390     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
391     *
392     * Generated from protobuf field <code>optional string default_value = 7;</code>
393     * @return string
394     */
395    public function getDefaultValue()
396    {
397        return isset($this->default_value) ? $this->default_value : '';
398    }
399
400    public function hasDefaultValue()
401    {
402        return isset($this->default_value);
403    }
404
405    public function clearDefaultValue()
406    {
407        unset($this->default_value);
408    }
409
410    /**
411     * For numeric types, contains the original text representation of the value.
412     * For booleans, "true" or "false".
413     * For strings, contains the default text contents (not escaped in any way).
414     * For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
415     *
416     * Generated from protobuf field <code>optional string default_value = 7;</code>
417     * @param string $var
418     * @return $this
419     */
420    public function setDefaultValue($var)
421    {
422        GPBUtil::checkString($var, True);
423        $this->default_value = $var;
424
425        return $this;
426    }
427
428    /**
429     * If set, gives the index of a oneof in the containing type's oneof_decl
430     * list.  This field is a member of that oneof.
431     *
432     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
433     * @return int
434     */
435    public function getOneofIndex()
436    {
437        return isset($this->oneof_index) ? $this->oneof_index : 0;
438    }
439
440    public function hasOneofIndex()
441    {
442        return isset($this->oneof_index);
443    }
444
445    public function clearOneofIndex()
446    {
447        unset($this->oneof_index);
448    }
449
450    /**
451     * If set, gives the index of a oneof in the containing type's oneof_decl
452     * list.  This field is a member of that oneof.
453     *
454     * Generated from protobuf field <code>optional int32 oneof_index = 9;</code>
455     * @param int $var
456     * @return $this
457     */
458    public function setOneofIndex($var)
459    {
460        GPBUtil::checkInt32($var);
461        $this->oneof_index = $var;
462
463        return $this;
464    }
465
466    /**
467     * JSON name of this field. The value is set by protocol compiler. If the
468     * user has set a "json_name" option on this field, that option's value
469     * will be used. Otherwise, it's deduced from the field's name by converting
470     * it to camelCase.
471     *
472     * Generated from protobuf field <code>optional string json_name = 10;</code>
473     * @return string
474     */
475    public function getJsonName()
476    {
477        return isset($this->json_name) ? $this->json_name : '';
478    }
479
480    public function hasJsonName()
481    {
482        return isset($this->json_name);
483    }
484
485    public function clearJsonName()
486    {
487        unset($this->json_name);
488    }
489
490    /**
491     * JSON name of this field. The value is set by protocol compiler. If the
492     * user has set a "json_name" option on this field, that option's value
493     * will be used. Otherwise, it's deduced from the field's name by converting
494     * it to camelCase.
495     *
496     * Generated from protobuf field <code>optional string json_name = 10;</code>
497     * @param string $var
498     * @return $this
499     */
500    public function setJsonName($var)
501    {
502        GPBUtil::checkString($var, True);
503        $this->json_name = $var;
504
505        return $this;
506    }
507
508    /**
509     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
510     * @return \Google\Protobuf\Internal\FieldOptions|null
511     */
512    public function getOptions()
513    {
514        return $this->options;
515    }
516
517    public function hasOptions()
518    {
519        return isset($this->options);
520    }
521
522    public function clearOptions()
523    {
524        unset($this->options);
525    }
526
527    /**
528     * Generated from protobuf field <code>optional .google.protobuf.FieldOptions options = 8;</code>
529     * @param \Google\Protobuf\Internal\FieldOptions $var
530     * @return $this
531     */
532    public function setOptions($var)
533    {
534        GPBUtil::checkMessage($var, \Google\Protobuf\Internal\FieldOptions::class);
535        $this->options = $var;
536
537        return $this;
538    }
539
540    /**
541     * If true, this is a proto3 "optional". When a proto3 field is optional, it
542     * tracks presence regardless of field type.
543     * When proto3_optional is true, this field must be belong to a oneof to
544     * signal to old proto3 clients that presence is tracked for this field. This
545     * oneof is known as a "synthetic" oneof, and this field must be its sole
546     * member (each proto3 optional field gets its own synthetic oneof). Synthetic
547     * oneofs exist in the descriptor only, and do not generate any API. Synthetic
548     * oneofs must be ordered after all "real" oneofs.
549     * For message fields, proto3_optional doesn't create any semantic change,
550     * since non-repeated message fields always track presence. However it still
551     * indicates the semantic detail of whether the user wrote "optional" or not.
552     * This can be useful for round-tripping the .proto file. For consistency we
553     * give message fields a synthetic oneof also, even though it is not required
554     * to track presence. This is especially important because the parser can't
555     * tell if a field is a message or an enum, so it must always create a
556     * synthetic oneof.
557     * Proto2 optional fields do not set this flag, because they already indicate
558     * optional with `LABEL_OPTIONAL`.
559     *
560     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
561     * @return bool
562     */
563    public function getProto3Optional()
564    {
565        return isset($this->proto3_optional) ? $this->proto3_optional : false;
566    }
567
568    public function hasProto3Optional()
569    {
570        return isset($this->proto3_optional);
571    }
572
573    public function clearProto3Optional()
574    {
575        unset($this->proto3_optional);
576    }
577
578    /**
579     * If true, this is a proto3 "optional". When a proto3 field is optional, it
580     * tracks presence regardless of field type.
581     * When proto3_optional is true, this field must be belong to a oneof to
582     * signal to old proto3 clients that presence is tracked for this field. This
583     * oneof is known as a "synthetic" oneof, and this field must be its sole
584     * member (each proto3 optional field gets its own synthetic oneof). Synthetic
585     * oneofs exist in the descriptor only, and do not generate any API. Synthetic
586     * oneofs must be ordered after all "real" oneofs.
587     * For message fields, proto3_optional doesn't create any semantic change,
588     * since non-repeated message fields always track presence. However it still
589     * indicates the semantic detail of whether the user wrote "optional" or not.
590     * This can be useful for round-tripping the .proto file. For consistency we
591     * give message fields a synthetic oneof also, even though it is not required
592     * to track presence. This is especially important because the parser can't
593     * tell if a field is a message or an enum, so it must always create a
594     * synthetic oneof.
595     * Proto2 optional fields do not set this flag, because they already indicate
596     * optional with `LABEL_OPTIONAL`.
597     *
598     * Generated from protobuf field <code>optional bool proto3_optional = 17;</code>
599     * @param bool $var
600     * @return $this
601     */
602    public function setProto3Optional($var)
603    {
604        GPBUtil::checkBool($var);
605        $this->proto3_optional = $var;
606
607        return $this;
608    }
609
610}
611
612