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