FileOptions

Struct FileOptions 

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§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
👎Deprecated

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: OptimizeMode§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: 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

Source

pub fn new() -> Self

Source

pub fn set_java_package<T: Into<String>>(self, v: T) -> Self

Sets the value of java_package.

§Example
let x = FileOptions::new().set_java_package("example");
Source

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");
Source

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);
Source

pub fn set_java_generate_equals_and_hash<T: Into<bool>>(self, v: T) -> Self

👎Deprecated

Sets the value of java_generate_equals_and_hash.

§Example
let x = FileOptions::new().set_java_generate_equals_and_hash(true);
Source

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);
Source

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);
Source

pub fn set_go_package<T: Into<String>>(self, v: T) -> Self

Sets the value of go_package.

§Example
let x = FileOptions::new().set_go_package("example");
Source

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);
Source

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);
Source

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);
Source

pub fn set_deprecated<T: Into<bool>>(self, v: T) -> Self

Sets the value of deprecated.

§Example
let x = FileOptions::new().set_deprecated(true);
Source

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);
Source

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");
Source

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");
Source

pub fn set_swift_prefix<T: Into<String>>(self, v: T) -> Self

Sets the value of swift_prefix.

§Example
let x = FileOptions::new().set_swift_prefix("example");
Source

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");
Source

pub fn set_php_namespace<T: Into<String>>(self, v: T) -> Self

Sets the value of php_namespace.

§Example
let x = FileOptions::new().set_php_namespace("example");
Source

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");
Source

pub fn set_ruby_package<T: Into<String>>(self, v: T) -> Self

Sets the value of ruby_package.

§Example
let x = FileOptions::new().set_ruby_package("example");
Source

pub fn set_features<T>(self, v: T) -> Self
where T: Into<FeatureSet>,

Sets the value of features.

§Example
use google_cloud_wkt::FeatureSet;
let x = FileOptions::new().set_features(FeatureSet::default()/* use setters */);
Source

pub fn set_or_clear_features<T>(self, v: Option<T>) -> Self
where T: Into<FeatureSet>,

Sets or clears the value of features.

§Example
use google_cloud_wkt::FeatureSet;
let x = FileOptions::new().set_or_clear_features(Some(FeatureSet::default()/* use setters */));
let x = FileOptions::new().set_or_clear_features(None::<FeatureSet>);
Source

pub fn set_uninterpreted_option<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<UninterpretedOption>,

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

Source§

fn clone(&self) -> FileOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FileOptions

Source§

fn default() -> FileOptions

Returns the “default value” for a type. Read more
Source§

impl Message for FileOptions

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for FileOptions

Source§

fn eq(&self, other: &FileOptions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for FileOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,