#[non_exhaustive]pub struct FileOptions {Show 21 fields
pub java_package: String,
pub java_outer_classname: String,
pub java_multiple_files: bool,
pub java_generate_equals_and_hash: bool,
pub java_string_check_utf8: bool,
pub optimize_for: OptimizeMode,
pub go_package: String,
pub cc_generic_services: bool,
pub java_generic_services: bool,
pub py_generic_services: bool,
pub deprecated: bool,
pub cc_enable_arenas: bool,
pub objc_class_prefix: String,
pub csharp_namespace: String,
pub swift_prefix: String,
pub php_class_prefix: String,
pub php_namespace: String,
pub php_metadata_namespace: String,
pub ruby_package: String,
pub features: Option<FeatureSet>,
pub uninterpreted_option: Vec<UninterpretedOption>,
/* private fields */
}Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.java_package: StringSets 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: StringControls 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: boolIf 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: boolThis option does nothing.
java_string_check_utf8: boolA 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: OptimizeMode§go_package: StringSets 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: boolShould 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: boolIs 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: boolEnables the use of arenas for the proto messages in this file. This applies only to generated classes for C++.
objc_class_prefix: StringSets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default.
csharp_namespace: StringNamespace for generated classes; defaults to the package.
swift_prefix: StringBy 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: StringSets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty.
php_namespace: StringUse 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: StringUse 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: StringUse 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: Option<FeatureSet>Any features defined in the specific edition.
uninterpreted_option: Vec<UninterpretedOption>The parser stores options it doesn’t recognize here. See the documentation for the “Options” section above.
Implementations§
Source§impl FileOptions
impl FileOptions
pub fn new() -> Self
Sourcepub fn set_java_package<T: Into<String>>(self, v: T) -> Self
pub fn set_java_package<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_java_outer_classname<T: Into<String>>(self, v: T) -> Self
pub fn set_java_outer_classname<T: Into<String>>(self, v: T) -> Self
Sets the value of java_outer_classname.
§Example
let x = FileOptions::new().set_java_outer_classname("example");Sourcepub fn set_java_multiple_files<T: Into<bool>>(self, v: T) -> Self
pub fn set_java_multiple_files<T: Into<bool>>(self, v: T) -> Self
Sets the value of java_multiple_files.
§Example
let x = FileOptions::new().set_java_multiple_files(true);Sourcepub fn set_java_generate_equals_and_hash<T: Into<bool>>(self, v: T) -> Self
👎Deprecated
pub fn set_java_generate_equals_and_hash<T: Into<bool>>(self, v: T) -> Self
Sets the value of java_generate_equals_and_hash.
§Example
let x = FileOptions::new().set_java_generate_equals_and_hash(true);Sourcepub fn set_java_string_check_utf8<T: Into<bool>>(self, v: T) -> Self
pub fn set_java_string_check_utf8<T: Into<bool>>(self, v: T) -> Self
Sets the value of java_string_check_utf8.
§Example
let x = FileOptions::new().set_java_string_check_utf8(true);Sourcepub fn set_optimize_for<T: Into<OptimizeMode>>(self, v: T) -> Self
pub fn set_optimize_for<T: Into<OptimizeMode>>(self, v: T) -> Self
Sets the value of optimize_for.
§Example
use google_cloud_wkt::file_options::OptimizeMode;
let x0 = FileOptions::new().set_optimize_for(OptimizeMode::Speed);
let x1 = FileOptions::new().set_optimize_for(OptimizeMode::CodeSize);
let x2 = FileOptions::new().set_optimize_for(OptimizeMode::LiteRuntime);Sourcepub fn set_go_package<T: Into<String>>(self, v: T) -> Self
pub fn set_go_package<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_cc_generic_services<T: Into<bool>>(self, v: T) -> Self
pub fn set_cc_generic_services<T: Into<bool>>(self, v: T) -> Self
Sets the value of cc_generic_services.
§Example
let x = FileOptions::new().set_cc_generic_services(true);Sourcepub fn set_java_generic_services<T: Into<bool>>(self, v: T) -> Self
pub fn set_java_generic_services<T: Into<bool>>(self, v: T) -> Self
Sets the value of java_generic_services.
§Example
let x = FileOptions::new().set_java_generic_services(true);Sourcepub fn set_py_generic_services<T: Into<bool>>(self, v: T) -> Self
pub fn set_py_generic_services<T: Into<bool>>(self, v: T) -> Self
Sets the value of py_generic_services.
§Example
let x = FileOptions::new().set_py_generic_services(true);Sourcepub fn set_deprecated<T: Into<bool>>(self, v: T) -> Self
pub fn set_deprecated<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_cc_enable_arenas<T: Into<bool>>(self, v: T) -> Self
pub fn set_cc_enable_arenas<T: Into<bool>>(self, v: T) -> Self
Sets the value of cc_enable_arenas.
§Example
let x = FileOptions::new().set_cc_enable_arenas(true);Sourcepub fn set_objc_class_prefix<T: Into<String>>(self, v: T) -> Self
pub fn set_objc_class_prefix<T: Into<String>>(self, v: T) -> Self
Sets the value of objc_class_prefix.
§Example
let x = FileOptions::new().set_objc_class_prefix("example");Sourcepub fn set_csharp_namespace<T: Into<String>>(self, v: T) -> Self
pub fn set_csharp_namespace<T: Into<String>>(self, v: T) -> Self
Sets the value of csharp_namespace.
§Example
let x = FileOptions::new().set_csharp_namespace("example");Sourcepub fn set_swift_prefix<T: Into<String>>(self, v: T) -> Self
pub fn set_swift_prefix<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_php_class_prefix<T: Into<String>>(self, v: T) -> Self
pub fn set_php_class_prefix<T: Into<String>>(self, v: T) -> Self
Sets the value of php_class_prefix.
§Example
let x = FileOptions::new().set_php_class_prefix("example");Sourcepub fn set_php_namespace<T: Into<String>>(self, v: T) -> Self
pub fn set_php_namespace<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_php_metadata_namespace<T: Into<String>>(self, v: T) -> Self
pub fn set_php_metadata_namespace<T: Into<String>>(self, v: T) -> Self
Sets the value of php_metadata_namespace.
§Example
let x = FileOptions::new().set_php_metadata_namespace("example");Sourcepub fn set_ruby_package<T: Into<String>>(self, v: T) -> Self
pub fn set_ruby_package<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_features<T>(self, v: T) -> Selfwhere
T: Into<FeatureSet>,
pub fn set_features<T>(self, v: T) -> Selfwhere
T: Into<FeatureSet>,
Sourcepub fn set_or_clear_features<T>(self, v: Option<T>) -> Selfwhere
T: Into<FeatureSet>,
pub fn set_or_clear_features<T>(self, v: Option<T>) -> Selfwhere
T: Into<FeatureSet>,
Sourcepub fn set_uninterpreted_option<T, V>(self, v: T) -> Self
pub fn set_uninterpreted_option<T, V>(self, v: T) -> Self
Sets the value of uninterpreted_option.
§Example
use google_cloud_wkt::UninterpretedOption;
let x = FileOptions::new()
.set_uninterpreted_option([
UninterpretedOption::default()/* use setters */,
UninterpretedOption::default()/* use (different) setters */,
]);Trait Implementations§
Source§impl Clone for FileOptions
impl Clone for FileOptions
Source§fn clone(&self) -> FileOptions
fn clone(&self) -> FileOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more