Reference documentation and code samples for the proto library Client class FileOptions.
Generated from protobuf message google.protobuf.FileOptions
Namespace
Google \ Protobuf \ InternalMethods
__construct
Constructor.
| Parameters | |
|---|---|
| Name | Description |
data |
array
Optional. Data for populating the Message object. |
↳ java_package |
string
Sets the Java package where classes generated from this .proto will be placed. By default, the proto package is used, but this is often inappropriate because proto packages do not normally start with backwards domain names. |
↳ java_outer_classname |
string
Controls the name of the wrapper Java class generated for the .proto file. That class will always contain the .proto file's getDescriptor() method as well as any top-level extensions defined in the .proto file. If java_multiple_files is disabled, then all the other classes from the .proto file will be nested inside the single wrapper outer class. |
↳ java_multiple_files |
bool
If enabled, then the Java code generator will generate a separate .java file for each top-level message, enum, and service defined in the .proto file. Thus, these types will not be nested inside the wrapper class named by java_outer_classname. However, the wrapper class will still be generated to contain the file's getDescriptor() method as well as any top-level extensions defined in the file. |
↳ java_generate_equals_and_hash |
bool
This option does nothing. |
↳ java_string_check_utf8 |
bool
A proto2 file can set this to true to opt in to UTF-8 checking for Java, which will throw an exception if invalid UTF-8 is parsed from the wire or assigned to a string field. TODO: clarify exactly what kinds of field types this option applies to, and update these docs accordingly. Proto3 files already perform these checks. Setting the option explicitly to false has no effect: it cannot be used to opt proto3 files out of UTF-8 checks. |
↳ optimize_for |
int
|
↳ go_package |
string
Sets the Go package where structs generated from this .proto will be placed. If omitted, the Go package will be derived from the following: - The basename of the package import path, if provided. - Otherwise, the package statement in the .proto file, if present. - Otherwise, the basename of the .proto file, without extension. |
↳ cc_generic_services |
bool
Should generic services be generated in each language? "Generic" services are not specific to any particular RPC system. They are generated by the main code generators in each language (without additional plugins). Generic services were the only kind of service generation supported by early versions of google.protobuf. Generic services are now considered deprecated in favor of using plugins that generate code specific to your particular RPC system. Therefore, these default to false. Old code which depends on generic services should explicitly set them to true. |
↳ java_generic_services |
bool
|
↳ py_generic_services |
bool
|
↳ deprecated |
bool
Is this file deprecated? Depending on the target platform, this can emit Deprecated annotations for everything in the file, or it will be completely ignored; in the very least, this is a formalization for deprecating files. |
↳ cc_enable_arenas |
bool
Enables the use of arenas for the proto messages in this file. This applies only to generated classes for C++. |
↳ objc_class_prefix |
string
Sets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default. |
↳ csharp_namespace |
string
Namespace for generated classes; defaults to the package. |
↳ swift_prefix |
string
By default Swift generators will take the proto package and CamelCase it replacing '.' with underscore and use that to prefix the types/symbols defined. When this options is provided, they will use this value instead to prefix the types/symbols defined. |
↳ php_class_prefix |
string
Sets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty. |
↳ php_namespace |
string
Use this option to change the namespace of php generated classes. Default is empty. When this option is empty, the package name will be used for determining the namespace. |
↳ php_metadata_namespace |
string
Use this option to change the namespace of php generated metadata classes. Default is empty. When this option is empty, the proto file name will be used for determining the namespace. |
↳ ruby_package |
string
Use this option to change the package of ruby generated classes. Default is empty. When this option is not set, the package name will be used for determining the ruby package. |
↳ features |
FeatureSet
Any features defined in the specific edition. WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language. |
↳ uninterpreted_option |
array<UninterpretedOption>
The parser stores options it doesn't recognize here. See the documentation for the "Options" section above. |
getJavaPackage
Sets the Java package where classes generated from this .proto will be placed. By default, the proto package is used, but this is often inappropriate because proto packages do not normally start with backwards domain names.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasJavaPackage
clearJavaPackage
setJavaPackage
Sets the Java package where classes generated from this .proto will be placed. By default, the proto package is used, but this is often inappropriate because proto packages do not normally start with backwards domain names.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getJavaOuterClassname
Controls the name of the wrapper Java class generated for the .proto file.
That class will always contain the .proto file's getDescriptor() method as well as any top-level extensions defined in the .proto file. If java_multiple_files is disabled, then all the other classes from the .proto file will be nested inside the single wrapper outer class.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasJavaOuterClassname
clearJavaOuterClassname
setJavaOuterClassname
Controls the name of the wrapper Java class generated for the .proto file.
That class will always contain the .proto file's getDescriptor() method as well as any top-level extensions defined in the .proto file. If java_multiple_files is disabled, then all the other classes from the .proto file will be nested inside the single wrapper outer class.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getJavaMultipleFiles
If enabled, then the Java code generator will generate a separate .java file for each top-level message, enum, and service defined in the .proto file. Thus, these types will not be nested inside the wrapper class named by java_outer_classname. However, the wrapper class will still be generated to contain the file's getDescriptor() method as well as any top-level extensions defined in the file.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasJavaMultipleFiles
clearJavaMultipleFiles
setJavaMultipleFiles
If enabled, then the Java code generator will generate a separate .java file for each top-level message, enum, and service defined in the .proto file. Thus, these types will not be nested inside the wrapper class named by java_outer_classname. However, the wrapper class will still be generated to contain the file's getDescriptor() method as well as any top-level extensions defined in the file.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getJavaGenerateEqualsAndHash
This option does nothing.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasJavaGenerateEqualsAndHash
clearJavaGenerateEqualsAndHash
setJavaGenerateEqualsAndHash
This option does nothing.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getJavaStringCheckUtf8
A proto2 file can set this to true to opt in to UTF-8 checking for Java, which will throw an exception if invalid UTF-8 is parsed from the wire or assigned to a string field.
TODO: clarify exactly what kinds of field types this option applies to, and update these docs accordingly. Proto3 files already perform these checks. Setting the option explicitly to false has no effect: it cannot be used to opt proto3 files out of UTF-8 checks.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasJavaStringCheckUtf8
clearJavaStringCheckUtf8
setJavaStringCheckUtf8
A proto2 file can set this to true to opt in to UTF-8 checking for Java, which will throw an exception if invalid UTF-8 is parsed from the wire or assigned to a string field.
TODO: clarify exactly what kinds of field types this option applies to, and update these docs accordingly. Proto3 files already perform these checks. Setting the option explicitly to false has no effect: it cannot be used to opt proto3 files out of UTF-8 checks.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getOptimizeFor
Generated from protobuf field optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
| Returns | |
|---|---|
| Type | Description |
int |
one of the values in {@see \Google\Protobuf\Internal\FileOptions\OptimizeMode} |
hasOptimizeFor
clearOptimizeFor
setOptimizeFor
Generated from protobuf field optional .google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
| Parameter | |
|---|---|
| Name | Description |
var |
int
one of the values in FileOptions\OptimizeMode |
| Returns | |
|---|---|
| Type | Description |
$this |
|
getGoPackage
Sets the Go package where structs generated from this .proto will be placed. If omitted, the Go package will be derived from the following:
- The basename of the package import path, if provided.
- Otherwise, the package statement in the .proto file, if present.
- Otherwise, the basename of the .proto file, without extension.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasGoPackage
clearGoPackage
setGoPackage
Sets the Go package where structs generated from this .proto will be placed. If omitted, the Go package will be derived from the following:
- The basename of the package import path, if provided.
- Otherwise, the package statement in the .proto file, if present.
- Otherwise, the basename of the .proto file, without extension.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getCcGenericServices
Should generic services be generated in each language? "Generic" services are not specific to any particular RPC system. They are generated by the main code generators in each language (without additional plugins).
Generic services were the only kind of service generation supported by early versions of google.protobuf. Generic services are now considered deprecated in favor of using plugins that generate code specific to your particular RPC system. Therefore, these default to false. Old code which depends on generic services should explicitly set them to true.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasCcGenericServices
clearCcGenericServices
setCcGenericServices
Should generic services be generated in each language? "Generic" services are not specific to any particular RPC system. They are generated by the main code generators in each language (without additional plugins).
Generic services were the only kind of service generation supported by early versions of google.protobuf. Generic services are now considered deprecated in favor of using plugins that generate code specific to your particular RPC system. Therefore, these default to false. Old code which depends on generic services should explicitly set them to true.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getJavaGenericServices
Generated from protobuf field optional bool java_generic_services = 17 [default = false];
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasJavaGenericServices
clearJavaGenericServices
setJavaGenericServices
Generated from protobuf field optional bool java_generic_services = 17 [default = false];
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getPyGenericServices
Generated from protobuf field optional bool py_generic_services = 18 [default = false];
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasPyGenericServices
clearPyGenericServices
setPyGenericServices
Generated from protobuf field optional bool py_generic_services = 18 [default = false];
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getDeprecated
Is this file deprecated? Depending on the target platform, this can emit Deprecated annotations for everything in the file, or it will be completely ignored; in the very least, this is a formalization for deprecating files.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasDeprecated
clearDeprecated
setDeprecated
Is this file deprecated? Depending on the target platform, this can emit Deprecated annotations for everything in the file, or it will be completely ignored; in the very least, this is a formalization for deprecating files.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getCcEnableArenas
Enables the use of arenas for the proto messages in this file. This applies only to generated classes for C++.
| Returns | |
|---|---|
| Type | Description |
bool |
|
hasCcEnableArenas
clearCcEnableArenas
setCcEnableArenas
Enables the use of arenas for the proto messages in this file. This applies only to generated classes for C++.
| Parameter | |
|---|---|
| Name | Description |
var |
bool
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getObjcClassPrefix
Sets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasObjcClassPrefix
clearObjcClassPrefix
setObjcClassPrefix
Sets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getCsharpNamespace
Namespace for generated classes; defaults to the package.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasCsharpNamespace
clearCsharpNamespace
setCsharpNamespace
Namespace for generated classes; defaults to the package.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getSwiftPrefix
By default Swift generators will take the proto package and CamelCase it replacing '.' with underscore and use that to prefix the types/symbols defined. When this options is provided, they will use this value instead to prefix the types/symbols defined.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasSwiftPrefix
clearSwiftPrefix
setSwiftPrefix
By default Swift generators will take the proto package and CamelCase it replacing '.' with underscore and use that to prefix the types/symbols defined. When this options is provided, they will use this value instead to prefix the types/symbols defined.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getPhpClassPrefix
Sets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasPhpClassPrefix
clearPhpClassPrefix
setPhpClassPrefix
Sets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getPhpNamespace
Use this option to change the namespace of php generated classes. Default is empty. When this option is empty, the package name will be used for determining the namespace.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasPhpNamespace
clearPhpNamespace
setPhpNamespace
Use this option to change the namespace of php generated classes. Default is empty. When this option is empty, the package name will be used for determining the namespace.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getPhpMetadataNamespace
Use this option to change the namespace of php generated metadata classes.
Default is empty. When this option is empty, the proto file name will be used for determining the namespace.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasPhpMetadataNamespace
clearPhpMetadataNamespace
setPhpMetadataNamespace
Use this option to change the namespace of php generated metadata classes.
Default is empty. When this option is empty, the proto file name will be used for determining the namespace.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getRubyPackage
Use this option to change the package of ruby generated classes. Default is empty. When this option is not set, the package name will be used for determining the ruby package.
| Returns | |
|---|---|
| Type | Description |
string |
|
hasRubyPackage
clearRubyPackage
setRubyPackage
Use this option to change the package of ruby generated classes. Default is empty. When this option is not set, the package name will be used for determining the ruby package.
| Parameter | |
|---|---|
| Name | Description |
var |
string
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getFeatures
Any features defined in the specific edition.
WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.
| Returns | |
|---|---|
| Type | Description |
FeatureSet|null |
|
hasFeatures
clearFeatures
setFeatures
Any features defined in the specific edition.
WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.
| Parameter | |
|---|---|
| Name | Description |
var |
FeatureSet
|
| Returns | |
|---|---|
| Type | Description |
$this |
|
getUninterpretedOption
The parser stores options it doesn't recognize here.
See the documentation for the "Options" section above.
| Returns | |
|---|---|
| Type | Description |
Google\Protobuf\RepeatedField<UninterpretedOption> |
|
setUninterpretedOption
The parser stores options it doesn't recognize here.
See the documentation for the "Options" section above.
| Parameter | |
|---|---|
| Name | Description |
var |
array<UninterpretedOption>
|
| Returns | |
|---|---|
| Type | Description |
$this |
|