• 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 * Generated from protobuf message <code>google.protobuf.FileOptions</code>
15 */
16class FileOptions extends \Google\Protobuf\Internal\Message
17{
18    /**
19     * Sets the Java package where classes generated from this .proto will be
20     * placed.  By default, the proto package is used, but this is often
21     * inappropriate because proto packages do not normally start with backwards
22     * domain names.
23     *
24     * Generated from protobuf field <code>optional string java_package = 1;</code>
25     */
26    protected $java_package = null;
27    /**
28     * If set, all the classes from the .proto file are wrapped in a single
29     * outer class with the given name.  This applies to both Proto1
30     * (equivalent to the old "--one_java_file" option) and Proto2 (where
31     * a .proto always translates to a single class, but you may want to
32     * explicitly choose the class name).
33     *
34     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
35     */
36    protected $java_outer_classname = null;
37    /**
38     * If set true, then the Java code generator will generate a separate .java
39     * file for each top-level message, enum, and service defined in the .proto
40     * file.  Thus, these types will *not* be nested inside the outer class
41     * named by java_outer_classname.  However, the outer class will still be
42     * generated to contain the file's getDescriptor() method as well as any
43     * top-level extensions defined in the file.
44     *
45     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
46     */
47    protected $java_multiple_files = null;
48    /**
49     * This option does nothing.
50     *
51     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
52     */
53    protected $java_generate_equals_and_hash = null;
54    /**
55     * If set true, then the Java2 code generator will generate code that
56     * throws an exception whenever an attempt is made to assign a non-UTF-8
57     * byte sequence to a string field.
58     * Message reflection will do the same.
59     * However, an extension field still accepts non-UTF-8 byte sequences.
60     * This option has no effect on when used with the lite runtime.
61     *
62     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
63     */
64    protected $java_string_check_utf8 = null;
65    /**
66     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
67     */
68    protected $optimize_for = null;
69    /**
70     * Sets the Go package where structs generated from this .proto will be
71     * placed. If omitted, the Go package will be derived from the following:
72     *   - The basename of the package import path, if provided.
73     *   - Otherwise, the package statement in the .proto file, if present.
74     *   - Otherwise, the basename of the .proto file, without extension.
75     *
76     * Generated from protobuf field <code>optional string go_package = 11;</code>
77     */
78    protected $go_package = null;
79    /**
80     * Should generic services be generated in each language?  "Generic" services
81     * are not specific to any particular RPC system.  They are generated by the
82     * main code generators in each language (without additional plugins).
83     * Generic services were the only kind of service generation supported by
84     * early versions of google.protobuf.
85     * Generic services are now considered deprecated in favor of using plugins
86     * that generate code specific to your particular RPC system.  Therefore,
87     * these default to false.  Old code which depends on generic services should
88     * explicitly set them to true.
89     *
90     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
91     */
92    protected $cc_generic_services = null;
93    /**
94     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
95     */
96    protected $java_generic_services = null;
97    /**
98     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
99     */
100    protected $py_generic_services = null;
101    /**
102     * Generated from protobuf field <code>optional bool php_generic_services = 42 [default = false];</code>
103     */
104    protected $php_generic_services = null;
105    /**
106     * Is this file deprecated?
107     * Depending on the target platform, this can emit Deprecated annotations
108     * for everything in the file, or it will be completely ignored; in the very
109     * least, this is a formalization for deprecating files.
110     *
111     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
112     */
113    protected $deprecated = null;
114    /**
115     * Enables the use of arenas for the proto messages in this file. This applies
116     * only to generated classes for C++.
117     *
118     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
119     */
120    protected $cc_enable_arenas = null;
121    /**
122     * Sets the objective c class prefix which is prepended to all objective c
123     * generated classes from this .proto. There is no default.
124     *
125     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
126     */
127    protected $objc_class_prefix = null;
128    /**
129     * Namespace for generated classes; defaults to the package.
130     *
131     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
132     */
133    protected $csharp_namespace = null;
134    /**
135     * By default Swift generators will take the proto package and CamelCase it
136     * replacing '.' with underscore and use that to prefix the types/symbols
137     * defined. When this options is provided, they will use this value instead
138     * to prefix the types/symbols defined.
139     *
140     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
141     */
142    protected $swift_prefix = null;
143    /**
144     * Sets the php class prefix which is prepended to all php generated classes
145     * from this .proto. Default is empty.
146     *
147     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
148     */
149    protected $php_class_prefix = null;
150    /**
151     * Use this option to change the namespace of php generated classes. Default
152     * is empty. When this option is empty, the package name will be used for
153     * determining the namespace.
154     *
155     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
156     */
157    protected $php_namespace = null;
158    /**
159     * Use this option to change the namespace of php generated metadata classes.
160     * Default is empty. When this option is empty, the proto file name will be
161     * used for determining the namespace.
162     *
163     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
164     */
165    protected $php_metadata_namespace = null;
166    /**
167     * Use this option to change the package of ruby generated classes. Default
168     * is empty. When this option is not set, the package name will be used for
169     * determining the ruby package.
170     *
171     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
172     */
173    protected $ruby_package = null;
174    /**
175     * The parser stores options it doesn't recognize here.
176     * See the documentation for the "Options" section above.
177     *
178     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
179     */
180    private $uninterpreted_option;
181
182    /**
183     * Constructor.
184     *
185     * @param array $data {
186     *     Optional. Data for populating the Message object.
187     *
188     *     @type string $java_package
189     *           Sets the Java package where classes generated from this .proto will be
190     *           placed.  By default, the proto package is used, but this is often
191     *           inappropriate because proto packages do not normally start with backwards
192     *           domain names.
193     *     @type string $java_outer_classname
194     *           If set, all the classes from the .proto file are wrapped in a single
195     *           outer class with the given name.  This applies to both Proto1
196     *           (equivalent to the old "--one_java_file" option) and Proto2 (where
197     *           a .proto always translates to a single class, but you may want to
198     *           explicitly choose the class name).
199     *     @type bool $java_multiple_files
200     *           If set true, then the Java code generator will generate a separate .java
201     *           file for each top-level message, enum, and service defined in the .proto
202     *           file.  Thus, these types will *not* be nested inside the outer class
203     *           named by java_outer_classname.  However, the outer class will still be
204     *           generated to contain the file's getDescriptor() method as well as any
205     *           top-level extensions defined in the file.
206     *     @type bool $java_generate_equals_and_hash
207     *           This option does nothing.
208     *     @type bool $java_string_check_utf8
209     *           If set true, then the Java2 code generator will generate code that
210     *           throws an exception whenever an attempt is made to assign a non-UTF-8
211     *           byte sequence to a string field.
212     *           Message reflection will do the same.
213     *           However, an extension field still accepts non-UTF-8 byte sequences.
214     *           This option has no effect on when used with the lite runtime.
215     *     @type int $optimize_for
216     *     @type string $go_package
217     *           Sets the Go package where structs generated from this .proto will be
218     *           placed. If omitted, the Go package will be derived from the following:
219     *             - The basename of the package import path, if provided.
220     *             - Otherwise, the package statement in the .proto file, if present.
221     *             - Otherwise, the basename of the .proto file, without extension.
222     *     @type bool $cc_generic_services
223     *           Should generic services be generated in each language?  "Generic" services
224     *           are not specific to any particular RPC system.  They are generated by the
225     *           main code generators in each language (without additional plugins).
226     *           Generic services were the only kind of service generation supported by
227     *           early versions of google.protobuf.
228     *           Generic services are now considered deprecated in favor of using plugins
229     *           that generate code specific to your particular RPC system.  Therefore,
230     *           these default to false.  Old code which depends on generic services should
231     *           explicitly set them to true.
232     *     @type bool $java_generic_services
233     *     @type bool $py_generic_services
234     *     @type bool $php_generic_services
235     *     @type bool $deprecated
236     *           Is this file deprecated?
237     *           Depending on the target platform, this can emit Deprecated annotations
238     *           for everything in the file, or it will be completely ignored; in the very
239     *           least, this is a formalization for deprecating files.
240     *     @type bool $cc_enable_arenas
241     *           Enables the use of arenas for the proto messages in this file. This applies
242     *           only to generated classes for C++.
243     *     @type string $objc_class_prefix
244     *           Sets the objective c class prefix which is prepended to all objective c
245     *           generated classes from this .proto. There is no default.
246     *     @type string $csharp_namespace
247     *           Namespace for generated classes; defaults to the package.
248     *     @type string $swift_prefix
249     *           By default Swift generators will take the proto package and CamelCase it
250     *           replacing '.' with underscore and use that to prefix the types/symbols
251     *           defined. When this options is provided, they will use this value instead
252     *           to prefix the types/symbols defined.
253     *     @type string $php_class_prefix
254     *           Sets the php class prefix which is prepended to all php generated classes
255     *           from this .proto. Default is empty.
256     *     @type string $php_namespace
257     *           Use this option to change the namespace of php generated classes. Default
258     *           is empty. When this option is empty, the package name will be used for
259     *           determining the namespace.
260     *     @type string $php_metadata_namespace
261     *           Use this option to change the namespace of php generated metadata classes.
262     *           Default is empty. When this option is empty, the proto file name will be
263     *           used for determining the namespace.
264     *     @type string $ruby_package
265     *           Use this option to change the package of ruby generated classes. Default
266     *           is empty. When this option is not set, the package name will be used for
267     *           determining the ruby package.
268     *     @type \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $uninterpreted_option
269     *           The parser stores options it doesn't recognize here.
270     *           See the documentation for the "Options" section above.
271     * }
272     */
273    public function __construct($data = NULL) {
274        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
275        parent::__construct($data);
276    }
277
278    /**
279     * Sets the Java package where classes generated from this .proto will be
280     * placed.  By default, the proto package is used, but this is often
281     * inappropriate because proto packages do not normally start with backwards
282     * domain names.
283     *
284     * Generated from protobuf field <code>optional string java_package = 1;</code>
285     * @return string
286     */
287    public function getJavaPackage()
288    {
289        return isset($this->java_package) ? $this->java_package : '';
290    }
291
292    public function hasJavaPackage()
293    {
294        return isset($this->java_package);
295    }
296
297    public function clearJavaPackage()
298    {
299        unset($this->java_package);
300    }
301
302    /**
303     * Sets the Java package where classes generated from this .proto will be
304     * placed.  By default, the proto package is used, but this is often
305     * inappropriate because proto packages do not normally start with backwards
306     * domain names.
307     *
308     * Generated from protobuf field <code>optional string java_package = 1;</code>
309     * @param string $var
310     * @return $this
311     */
312    public function setJavaPackage($var)
313    {
314        GPBUtil::checkString($var, True);
315        $this->java_package = $var;
316
317        return $this;
318    }
319
320    /**
321     * If set, all the classes from the .proto file are wrapped in a single
322     * outer class with the given name.  This applies to both Proto1
323     * (equivalent to the old "--one_java_file" option) and Proto2 (where
324     * a .proto always translates to a single class, but you may want to
325     * explicitly choose the class name).
326     *
327     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
328     * @return string
329     */
330    public function getJavaOuterClassname()
331    {
332        return isset($this->java_outer_classname) ? $this->java_outer_classname : '';
333    }
334
335    public function hasJavaOuterClassname()
336    {
337        return isset($this->java_outer_classname);
338    }
339
340    public function clearJavaOuterClassname()
341    {
342        unset($this->java_outer_classname);
343    }
344
345    /**
346     * If set, all the classes from the .proto file are wrapped in a single
347     * outer class with the given name.  This applies to both Proto1
348     * (equivalent to the old "--one_java_file" option) and Proto2 (where
349     * a .proto always translates to a single class, but you may want to
350     * explicitly choose the class name).
351     *
352     * Generated from protobuf field <code>optional string java_outer_classname = 8;</code>
353     * @param string $var
354     * @return $this
355     */
356    public function setJavaOuterClassname($var)
357    {
358        GPBUtil::checkString($var, True);
359        $this->java_outer_classname = $var;
360
361        return $this;
362    }
363
364    /**
365     * If set true, then the Java code generator will generate a separate .java
366     * file for each top-level message, enum, and service defined in the .proto
367     * file.  Thus, these types will *not* be nested inside the outer class
368     * named by java_outer_classname.  However, the outer class will still be
369     * generated to contain the file's getDescriptor() method as well as any
370     * top-level extensions defined in the file.
371     *
372     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
373     * @return bool
374     */
375    public function getJavaMultipleFiles()
376    {
377        return isset($this->java_multiple_files) ? $this->java_multiple_files : false;
378    }
379
380    public function hasJavaMultipleFiles()
381    {
382        return isset($this->java_multiple_files);
383    }
384
385    public function clearJavaMultipleFiles()
386    {
387        unset($this->java_multiple_files);
388    }
389
390    /**
391     * If set true, then the Java code generator will generate a separate .java
392     * file for each top-level message, enum, and service defined in the .proto
393     * file.  Thus, these types will *not* be nested inside the outer class
394     * named by java_outer_classname.  However, the outer class will still be
395     * generated to contain the file's getDescriptor() method as well as any
396     * top-level extensions defined in the file.
397     *
398     * Generated from protobuf field <code>optional bool java_multiple_files = 10 [default = false];</code>
399     * @param bool $var
400     * @return $this
401     */
402    public function setJavaMultipleFiles($var)
403    {
404        GPBUtil::checkBool($var);
405        $this->java_multiple_files = $var;
406
407        return $this;
408    }
409
410    /**
411     * This option does nothing.
412     *
413     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
414     * @return bool
415     */
416    public function getJavaGenerateEqualsAndHash()
417    {
418        return isset($this->java_generate_equals_and_hash) ? $this->java_generate_equals_and_hash : false;
419    }
420
421    public function hasJavaGenerateEqualsAndHash()
422    {
423        return isset($this->java_generate_equals_and_hash);
424    }
425
426    public function clearJavaGenerateEqualsAndHash()
427    {
428        unset($this->java_generate_equals_and_hash);
429    }
430
431    /**
432     * This option does nothing.
433     *
434     * Generated from protobuf field <code>optional bool java_generate_equals_and_hash = 20 [deprecated = true];</code>
435     * @param bool $var
436     * @return $this
437     */
438    public function setJavaGenerateEqualsAndHash($var)
439    {
440        GPBUtil::checkBool($var);
441        $this->java_generate_equals_and_hash = $var;
442
443        return $this;
444    }
445
446    /**
447     * If set true, then the Java2 code generator will generate code that
448     * throws an exception whenever an attempt is made to assign a non-UTF-8
449     * byte sequence to a string field.
450     * Message reflection will do the same.
451     * However, an extension field still accepts non-UTF-8 byte sequences.
452     * This option has no effect on when used with the lite runtime.
453     *
454     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
455     * @return bool
456     */
457    public function getJavaStringCheckUtf8()
458    {
459        return isset($this->java_string_check_utf8) ? $this->java_string_check_utf8 : false;
460    }
461
462    public function hasJavaStringCheckUtf8()
463    {
464        return isset($this->java_string_check_utf8);
465    }
466
467    public function clearJavaStringCheckUtf8()
468    {
469        unset($this->java_string_check_utf8);
470    }
471
472    /**
473     * If set true, then the Java2 code generator will generate code that
474     * throws an exception whenever an attempt is made to assign a non-UTF-8
475     * byte sequence to a string field.
476     * Message reflection will do the same.
477     * However, an extension field still accepts non-UTF-8 byte sequences.
478     * This option has no effect on when used with the lite runtime.
479     *
480     * Generated from protobuf field <code>optional bool java_string_check_utf8 = 27 [default = false];</code>
481     * @param bool $var
482     * @return $this
483     */
484    public function setJavaStringCheckUtf8($var)
485    {
486        GPBUtil::checkBool($var);
487        $this->java_string_check_utf8 = $var;
488
489        return $this;
490    }
491
492    /**
493     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
494     * @return int
495     */
496    public function getOptimizeFor()
497    {
498        return isset($this->optimize_for) ? $this->optimize_for : 0;
499    }
500
501    public function hasOptimizeFor()
502    {
503        return isset($this->optimize_for);
504    }
505
506    public function clearOptimizeFor()
507    {
508        unset($this->optimize_for);
509    }
510
511    /**
512     * Generated from protobuf field <code>optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];</code>
513     * @param int $var
514     * @return $this
515     */
516    public function setOptimizeFor($var)
517    {
518        GPBUtil::checkEnum($var, \Google\Protobuf\Internal\FileOptions\OptimizeMode::class);
519        $this->optimize_for = $var;
520
521        return $this;
522    }
523
524    /**
525     * Sets the Go package where structs generated from this .proto will be
526     * placed. If omitted, the Go package will be derived from the following:
527     *   - The basename of the package import path, if provided.
528     *   - Otherwise, the package statement in the .proto file, if present.
529     *   - Otherwise, the basename of the .proto file, without extension.
530     *
531     * Generated from protobuf field <code>optional string go_package = 11;</code>
532     * @return string
533     */
534    public function getGoPackage()
535    {
536        return isset($this->go_package) ? $this->go_package : '';
537    }
538
539    public function hasGoPackage()
540    {
541        return isset($this->go_package);
542    }
543
544    public function clearGoPackage()
545    {
546        unset($this->go_package);
547    }
548
549    /**
550     * Sets the Go package where structs generated from this .proto will be
551     * placed. If omitted, the Go package will be derived from the following:
552     *   - The basename of the package import path, if provided.
553     *   - Otherwise, the package statement in the .proto file, if present.
554     *   - Otherwise, the basename of the .proto file, without extension.
555     *
556     * Generated from protobuf field <code>optional string go_package = 11;</code>
557     * @param string $var
558     * @return $this
559     */
560    public function setGoPackage($var)
561    {
562        GPBUtil::checkString($var, True);
563        $this->go_package = $var;
564
565        return $this;
566    }
567
568    /**
569     * Should generic services be generated in each language?  "Generic" services
570     * are not specific to any particular RPC system.  They are generated by the
571     * main code generators in each language (without additional plugins).
572     * Generic services were the only kind of service generation supported by
573     * early versions of google.protobuf.
574     * Generic services are now considered deprecated in favor of using plugins
575     * that generate code specific to your particular RPC system.  Therefore,
576     * these default to false.  Old code which depends on generic services should
577     * explicitly set them to true.
578     *
579     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
580     * @return bool
581     */
582    public function getCcGenericServices()
583    {
584        return isset($this->cc_generic_services) ? $this->cc_generic_services : false;
585    }
586
587    public function hasCcGenericServices()
588    {
589        return isset($this->cc_generic_services);
590    }
591
592    public function clearCcGenericServices()
593    {
594        unset($this->cc_generic_services);
595    }
596
597    /**
598     * Should generic services be generated in each language?  "Generic" services
599     * are not specific to any particular RPC system.  They are generated by the
600     * main code generators in each language (without additional plugins).
601     * Generic services were the only kind of service generation supported by
602     * early versions of google.protobuf.
603     * Generic services are now considered deprecated in favor of using plugins
604     * that generate code specific to your particular RPC system.  Therefore,
605     * these default to false.  Old code which depends on generic services should
606     * explicitly set them to true.
607     *
608     * Generated from protobuf field <code>optional bool cc_generic_services = 16 [default = false];</code>
609     * @param bool $var
610     * @return $this
611     */
612    public function setCcGenericServices($var)
613    {
614        GPBUtil::checkBool($var);
615        $this->cc_generic_services = $var;
616
617        return $this;
618    }
619
620    /**
621     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
622     * @return bool
623     */
624    public function getJavaGenericServices()
625    {
626        return isset($this->java_generic_services) ? $this->java_generic_services : false;
627    }
628
629    public function hasJavaGenericServices()
630    {
631        return isset($this->java_generic_services);
632    }
633
634    public function clearJavaGenericServices()
635    {
636        unset($this->java_generic_services);
637    }
638
639    /**
640     * Generated from protobuf field <code>optional bool java_generic_services = 17 [default = false];</code>
641     * @param bool $var
642     * @return $this
643     */
644    public function setJavaGenericServices($var)
645    {
646        GPBUtil::checkBool($var);
647        $this->java_generic_services = $var;
648
649        return $this;
650    }
651
652    /**
653     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
654     * @return bool
655     */
656    public function getPyGenericServices()
657    {
658        return isset($this->py_generic_services) ? $this->py_generic_services : false;
659    }
660
661    public function hasPyGenericServices()
662    {
663        return isset($this->py_generic_services);
664    }
665
666    public function clearPyGenericServices()
667    {
668        unset($this->py_generic_services);
669    }
670
671    /**
672     * Generated from protobuf field <code>optional bool py_generic_services = 18 [default = false];</code>
673     * @param bool $var
674     * @return $this
675     */
676    public function setPyGenericServices($var)
677    {
678        GPBUtil::checkBool($var);
679        $this->py_generic_services = $var;
680
681        return $this;
682    }
683
684    /**
685     * Generated from protobuf field <code>optional bool php_generic_services = 42 [default = false];</code>
686     * @return bool
687     */
688    public function getPhpGenericServices()
689    {
690        return isset($this->php_generic_services) ? $this->php_generic_services : false;
691    }
692
693    public function hasPhpGenericServices()
694    {
695        return isset($this->php_generic_services);
696    }
697
698    public function clearPhpGenericServices()
699    {
700        unset($this->php_generic_services);
701    }
702
703    /**
704     * Generated from protobuf field <code>optional bool php_generic_services = 42 [default = false];</code>
705     * @param bool $var
706     * @return $this
707     */
708    public function setPhpGenericServices($var)
709    {
710        GPBUtil::checkBool($var);
711        $this->php_generic_services = $var;
712
713        return $this;
714    }
715
716    /**
717     * Is this file deprecated?
718     * Depending on the target platform, this can emit Deprecated annotations
719     * for everything in the file, or it will be completely ignored; in the very
720     * least, this is a formalization for deprecating files.
721     *
722     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
723     * @return bool
724     */
725    public function getDeprecated()
726    {
727        return isset($this->deprecated) ? $this->deprecated : false;
728    }
729
730    public function hasDeprecated()
731    {
732        return isset($this->deprecated);
733    }
734
735    public function clearDeprecated()
736    {
737        unset($this->deprecated);
738    }
739
740    /**
741     * Is this file deprecated?
742     * Depending on the target platform, this can emit Deprecated annotations
743     * for everything in the file, or it will be completely ignored; in the very
744     * least, this is a formalization for deprecating files.
745     *
746     * Generated from protobuf field <code>optional bool deprecated = 23 [default = false];</code>
747     * @param bool $var
748     * @return $this
749     */
750    public function setDeprecated($var)
751    {
752        GPBUtil::checkBool($var);
753        $this->deprecated = $var;
754
755        return $this;
756    }
757
758    /**
759     * Enables the use of arenas for the proto messages in this file. This applies
760     * only to generated classes for C++.
761     *
762     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
763     * @return bool
764     */
765    public function getCcEnableArenas()
766    {
767        return isset($this->cc_enable_arenas) ? $this->cc_enable_arenas : false;
768    }
769
770    public function hasCcEnableArenas()
771    {
772        return isset($this->cc_enable_arenas);
773    }
774
775    public function clearCcEnableArenas()
776    {
777        unset($this->cc_enable_arenas);
778    }
779
780    /**
781     * Enables the use of arenas for the proto messages in this file. This applies
782     * only to generated classes for C++.
783     *
784     * Generated from protobuf field <code>optional bool cc_enable_arenas = 31 [default = true];</code>
785     * @param bool $var
786     * @return $this
787     */
788    public function setCcEnableArenas($var)
789    {
790        GPBUtil::checkBool($var);
791        $this->cc_enable_arenas = $var;
792
793        return $this;
794    }
795
796    /**
797     * Sets the objective c class prefix which is prepended to all objective c
798     * generated classes from this .proto. There is no default.
799     *
800     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
801     * @return string
802     */
803    public function getObjcClassPrefix()
804    {
805        return isset($this->objc_class_prefix) ? $this->objc_class_prefix : '';
806    }
807
808    public function hasObjcClassPrefix()
809    {
810        return isset($this->objc_class_prefix);
811    }
812
813    public function clearObjcClassPrefix()
814    {
815        unset($this->objc_class_prefix);
816    }
817
818    /**
819     * Sets the objective c class prefix which is prepended to all objective c
820     * generated classes from this .proto. There is no default.
821     *
822     * Generated from protobuf field <code>optional string objc_class_prefix = 36;</code>
823     * @param string $var
824     * @return $this
825     */
826    public function setObjcClassPrefix($var)
827    {
828        GPBUtil::checkString($var, True);
829        $this->objc_class_prefix = $var;
830
831        return $this;
832    }
833
834    /**
835     * Namespace for generated classes; defaults to the package.
836     *
837     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
838     * @return string
839     */
840    public function getCsharpNamespace()
841    {
842        return isset($this->csharp_namespace) ? $this->csharp_namespace : '';
843    }
844
845    public function hasCsharpNamespace()
846    {
847        return isset($this->csharp_namespace);
848    }
849
850    public function clearCsharpNamespace()
851    {
852        unset($this->csharp_namespace);
853    }
854
855    /**
856     * Namespace for generated classes; defaults to the package.
857     *
858     * Generated from protobuf field <code>optional string csharp_namespace = 37;</code>
859     * @param string $var
860     * @return $this
861     */
862    public function setCsharpNamespace($var)
863    {
864        GPBUtil::checkString($var, True);
865        $this->csharp_namespace = $var;
866
867        return $this;
868    }
869
870    /**
871     * By default Swift generators will take the proto package and CamelCase it
872     * replacing '.' with underscore and use that to prefix the types/symbols
873     * defined. When this options is provided, they will use this value instead
874     * to prefix the types/symbols defined.
875     *
876     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
877     * @return string
878     */
879    public function getSwiftPrefix()
880    {
881        return isset($this->swift_prefix) ? $this->swift_prefix : '';
882    }
883
884    public function hasSwiftPrefix()
885    {
886        return isset($this->swift_prefix);
887    }
888
889    public function clearSwiftPrefix()
890    {
891        unset($this->swift_prefix);
892    }
893
894    /**
895     * By default Swift generators will take the proto package and CamelCase it
896     * replacing '.' with underscore and use that to prefix the types/symbols
897     * defined. When this options is provided, they will use this value instead
898     * to prefix the types/symbols defined.
899     *
900     * Generated from protobuf field <code>optional string swift_prefix = 39;</code>
901     * @param string $var
902     * @return $this
903     */
904    public function setSwiftPrefix($var)
905    {
906        GPBUtil::checkString($var, True);
907        $this->swift_prefix = $var;
908
909        return $this;
910    }
911
912    /**
913     * Sets the php class prefix which is prepended to all php generated classes
914     * from this .proto. Default is empty.
915     *
916     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
917     * @return string
918     */
919    public function getPhpClassPrefix()
920    {
921        return isset($this->php_class_prefix) ? $this->php_class_prefix : '';
922    }
923
924    public function hasPhpClassPrefix()
925    {
926        return isset($this->php_class_prefix);
927    }
928
929    public function clearPhpClassPrefix()
930    {
931        unset($this->php_class_prefix);
932    }
933
934    /**
935     * Sets the php class prefix which is prepended to all php generated classes
936     * from this .proto. Default is empty.
937     *
938     * Generated from protobuf field <code>optional string php_class_prefix = 40;</code>
939     * @param string $var
940     * @return $this
941     */
942    public function setPhpClassPrefix($var)
943    {
944        GPBUtil::checkString($var, True);
945        $this->php_class_prefix = $var;
946
947        return $this;
948    }
949
950    /**
951     * Use this option to change the namespace of php generated classes. Default
952     * is empty. When this option is empty, the package name will be used for
953     * determining the namespace.
954     *
955     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
956     * @return string
957     */
958    public function getPhpNamespace()
959    {
960        return isset($this->php_namespace) ? $this->php_namespace : '';
961    }
962
963    public function hasPhpNamespace()
964    {
965        return isset($this->php_namespace);
966    }
967
968    public function clearPhpNamespace()
969    {
970        unset($this->php_namespace);
971    }
972
973    /**
974     * Use this option to change the namespace of php generated classes. Default
975     * is empty. When this option is empty, the package name will be used for
976     * determining the namespace.
977     *
978     * Generated from protobuf field <code>optional string php_namespace = 41;</code>
979     * @param string $var
980     * @return $this
981     */
982    public function setPhpNamespace($var)
983    {
984        GPBUtil::checkString($var, True);
985        $this->php_namespace = $var;
986
987        return $this;
988    }
989
990    /**
991     * Use this option to change the namespace of php generated metadata classes.
992     * Default is empty. When this option is empty, the proto file name will be
993     * used for determining the namespace.
994     *
995     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
996     * @return string
997     */
998    public function getPhpMetadataNamespace()
999    {
1000        return isset($this->php_metadata_namespace) ? $this->php_metadata_namespace : '';
1001    }
1002
1003    public function hasPhpMetadataNamespace()
1004    {
1005        return isset($this->php_metadata_namespace);
1006    }
1007
1008    public function clearPhpMetadataNamespace()
1009    {
1010        unset($this->php_metadata_namespace);
1011    }
1012
1013    /**
1014     * Use this option to change the namespace of php generated metadata classes.
1015     * Default is empty. When this option is empty, the proto file name will be
1016     * used for determining the namespace.
1017     *
1018     * Generated from protobuf field <code>optional string php_metadata_namespace = 44;</code>
1019     * @param string $var
1020     * @return $this
1021     */
1022    public function setPhpMetadataNamespace($var)
1023    {
1024        GPBUtil::checkString($var, True);
1025        $this->php_metadata_namespace = $var;
1026
1027        return $this;
1028    }
1029
1030    /**
1031     * Use this option to change the package of ruby generated classes. Default
1032     * is empty. When this option is not set, the package name will be used for
1033     * determining the ruby package.
1034     *
1035     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
1036     * @return string
1037     */
1038    public function getRubyPackage()
1039    {
1040        return isset($this->ruby_package) ? $this->ruby_package : '';
1041    }
1042
1043    public function hasRubyPackage()
1044    {
1045        return isset($this->ruby_package);
1046    }
1047
1048    public function clearRubyPackage()
1049    {
1050        unset($this->ruby_package);
1051    }
1052
1053    /**
1054     * Use this option to change the package of ruby generated classes. Default
1055     * is empty. When this option is not set, the package name will be used for
1056     * determining the ruby package.
1057     *
1058     * Generated from protobuf field <code>optional string ruby_package = 45;</code>
1059     * @param string $var
1060     * @return $this
1061     */
1062    public function setRubyPackage($var)
1063    {
1064        GPBUtil::checkString($var, True);
1065        $this->ruby_package = $var;
1066
1067        return $this;
1068    }
1069
1070    /**
1071     * The parser stores options it doesn't recognize here.
1072     * See the documentation for the "Options" section above.
1073     *
1074     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
1075     * @return \Google\Protobuf\Internal\RepeatedField
1076     */
1077    public function getUninterpretedOption()
1078    {
1079        return $this->uninterpreted_option;
1080    }
1081
1082    /**
1083     * The parser stores options it doesn't recognize here.
1084     * See the documentation for the "Options" section above.
1085     *
1086     * Generated from protobuf field <code>repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;</code>
1087     * @param \Google\Protobuf\Internal\UninterpretedOption[]|\Google\Protobuf\Internal\RepeatedField $var
1088     * @return $this
1089     */
1090    public function setUninterpretedOption($var)
1091    {
1092        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption::class);
1093        $this->uninterpreted_option = $arr;
1094
1095        return $this;
1096    }
1097
1098}
1099
1100