Class FileOptions (3.23.0)

public sealed class FileOptions : IExtendableMessage<FileOptions>, IMessage<FileOptions>, IEquatable<FileOptions>, IDeepCloneable<FileOptions>, IBufferMessage, IMessage

Inheritance

object > FileOptions

Namespace

Google.Protobuf.Reflection

Assembly

Google.Protobuf.dll

Constructors

FileOptions()

public FileOptions()

FileOptions(FileOptions)

public FileOptions(FileOptions other)
Parameter
NameDescription
otherFileOptions

Fields

CcEnableArenasFieldNumber

public const int CcEnableArenasFieldNumber = 31

Field number for the "cc_enable_arenas" field.

Field Value
TypeDescription
int

CcGenericServicesFieldNumber

public const int CcGenericServicesFieldNumber = 16

Field number for the "cc_generic_services" field.

Field Value
TypeDescription
int

CsharpNamespaceFieldNumber

public const int CsharpNamespaceFieldNumber = 37

Field number for the "csharp_namespace" field.

Field Value
TypeDescription
int

DeprecatedFieldNumber

public const int DeprecatedFieldNumber = 23

Field number for the "deprecated" field.

Field Value
TypeDescription
int

GoPackageFieldNumber

public const int GoPackageFieldNumber = 11

Field number for the "go_package" field.

Field Value
TypeDescription
int

JavaGenerateEqualsAndHashFieldNumber

public const int JavaGenerateEqualsAndHashFieldNumber = 20

Field number for the "java_generate_equals_and_hash" field.

Field Value
TypeDescription
int

JavaGenericServicesFieldNumber

public const int JavaGenericServicesFieldNumber = 17

Field number for the "java_generic_services" field.

Field Value
TypeDescription
int

JavaMultipleFilesFieldNumber

public const int JavaMultipleFilesFieldNumber = 10

Field number for the "java_multiple_files" field.

Field Value
TypeDescription
int

JavaOuterClassnameFieldNumber

public const int JavaOuterClassnameFieldNumber = 8

Field number for the "java_outer_classname" field.

Field Value
TypeDescription
int

JavaPackageFieldNumber

public const int JavaPackageFieldNumber = 1

Field number for the "java_package" field.

Field Value
TypeDescription
int

JavaStringCheckUtf8FieldNumber

public const int JavaStringCheckUtf8FieldNumber = 27

Field number for the "java_string_check_utf8" field.

Field Value
TypeDescription
int

ObjcClassPrefixFieldNumber

public const int ObjcClassPrefixFieldNumber = 36

Field number for the "objc_class_prefix" field.

Field Value
TypeDescription
int

OptimizeForFieldNumber

public const int OptimizeForFieldNumber = 9

Field number for the "optimize_for" field.

Field Value
TypeDescription
int

PhpClassPrefixFieldNumber

public const int PhpClassPrefixFieldNumber = 40

Field number for the "php_class_prefix" field.

Field Value
TypeDescription
int

PhpGenericServicesFieldNumber

public const int PhpGenericServicesFieldNumber = 42

Field number for the "php_generic_services" field.

Field Value
TypeDescription
int

PhpMetadataNamespaceFieldNumber

public const int PhpMetadataNamespaceFieldNumber = 44

Field number for the "php_metadata_namespace" field.

Field Value
TypeDescription
int

PhpNamespaceFieldNumber

public const int PhpNamespaceFieldNumber = 41

Field number for the "php_namespace" field.

Field Value
TypeDescription
int

PyGenericServicesFieldNumber

public const int PyGenericServicesFieldNumber = 18

Field number for the "py_generic_services" field.

Field Value
TypeDescription
int

RubyPackageFieldNumber

public const int RubyPackageFieldNumber = 45

Field number for the "ruby_package" field.

Field Value
TypeDescription
int

SwiftPrefixFieldNumber

public const int SwiftPrefixFieldNumber = 39

Field number for the "swift_prefix" field.

Field Value
TypeDescription
int

UninterpretedOptionFieldNumber

public const int UninterpretedOptionFieldNumber = 999

Field number for the "uninterpreted_option" field.

Field Value
TypeDescription
int

Properties

CcEnableArenas

public bool CcEnableArenas { get; set; }

Enables the use of arenas for the proto messages in this file. This applies only to generated classes for C++.

Property Value
TypeDescription
bool

CcGenericServices

public bool CcGenericServices { get; set; }

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.

Property Value
TypeDescription
bool

CsharpNamespace

public string CsharpNamespace { get; set; }

Namespace for generated classes; defaults to the package.

Property Value
TypeDescription
string

Deprecated

public bool Deprecated { get; set; }

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.

Property Value
TypeDescription
bool

Descriptor

public static MessageDescriptor Descriptor { get; }
Property Value
TypeDescription
MessageDescriptor

GoPackage

public string GoPackage { get; set; }

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.
Property Value
TypeDescription
string

HasCcEnableArenas

public bool HasCcEnableArenas { get; }

Gets whether the "cc_enable_arenas" field is set

Property Value
TypeDescription
bool

HasCcGenericServices

public bool HasCcGenericServices { get; }

Gets whether the "cc_generic_services" field is set

Property Value
TypeDescription
bool

HasCsharpNamespace

public bool HasCsharpNamespace { get; }

Gets whether the "csharp_namespace" field is set

Property Value
TypeDescription
bool

HasDeprecated

public bool HasDeprecated { get; }

Gets whether the "deprecated" field is set

Property Value
TypeDescription
bool

HasGoPackage

public bool HasGoPackage { get; }

Gets whether the "go_package" field is set

Property Value
TypeDescription
bool

HasJavaGenerateEqualsAndHash

[Obsolete]
public bool HasJavaGenerateEqualsAndHash { get; }

Gets whether the "java_generate_equals_and_hash" field is set

Property Value
TypeDescription
bool

HasJavaGenericServices

public bool HasJavaGenericServices { get; }

Gets whether the "java_generic_services" field is set

Property Value
TypeDescription
bool

HasJavaMultipleFiles

public bool HasJavaMultipleFiles { get; }

Gets whether the "java_multiple_files" field is set

Property Value
TypeDescription
bool

HasJavaOuterClassname

public bool HasJavaOuterClassname { get; }

Gets whether the "java_outer_classname" field is set

Property Value
TypeDescription
bool

HasJavaPackage

public bool HasJavaPackage { get; }

Gets whether the "java_package" field is set

Property Value
TypeDescription
bool

HasJavaStringCheckUtf8

public bool HasJavaStringCheckUtf8 { get; }

Gets whether the "java_string_check_utf8" field is set

Property Value
TypeDescription
bool

HasObjcClassPrefix

public bool HasObjcClassPrefix { get; }

Gets whether the "objc_class_prefix" field is set

Property Value
TypeDescription
bool

HasOptimizeFor

public bool HasOptimizeFor { get; }

Gets whether the "optimize_for" field is set

Property Value
TypeDescription
bool

HasPhpClassPrefix

public bool HasPhpClassPrefix { get; }

Gets whether the "php_class_prefix" field is set

Property Value
TypeDescription
bool

HasPhpGenericServices

public bool HasPhpGenericServices { get; }

Gets whether the "php_generic_services" field is set

Property Value
TypeDescription
bool

HasPhpMetadataNamespace

public bool HasPhpMetadataNamespace { get; }

Gets whether the "php_metadata_namespace" field is set

Property Value
TypeDescription
bool

HasPhpNamespace

public bool HasPhpNamespace { get; }

Gets whether the "php_namespace" field is set

Property Value
TypeDescription
bool

HasPyGenericServices

public bool HasPyGenericServices { get; }

Gets whether the "py_generic_services" field is set

Property Value
TypeDescription
bool

HasRubyPackage

public bool HasRubyPackage { get; }

Gets whether the "ruby_package" field is set

Property Value
TypeDescription
bool

HasSwiftPrefix

public bool HasSwiftPrefix { get; }

Gets whether the "swift_prefix" field is set

Property Value
TypeDescription
bool

JavaGenerateEqualsAndHash

[Obsolete]
public bool JavaGenerateEqualsAndHash { get; set; }

This option does nothing.

Property Value
TypeDescription
bool

JavaGenericServices

public bool JavaGenericServices { get; set; }
Property Value
TypeDescription
bool

JavaMultipleFiles

public bool JavaMultipleFiles { get; set; }

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.

Property Value
TypeDescription
bool

JavaOuterClassname

public string JavaOuterClassname { get; set; }

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.

Property Value
TypeDescription
string

JavaPackage

public string JavaPackage { get; set; }

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.

Property Value
TypeDescription
string

JavaStringCheckUtf8

public bool JavaStringCheckUtf8 { get; set; }

If set true, then the Java2 code generator will generate code that throws an exception whenever an attempt is made to assign a non-UTF-8 byte sequence to a string field. Message reflection will do the same. However, an extension field still accepts non-UTF-8 byte sequences. This option has no effect on when used with the lite runtime.

Property Value
TypeDescription
bool

ObjcClassPrefix

public string ObjcClassPrefix { get; set; }

Sets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default.

Property Value
TypeDescription
string

OptimizeFor

public FileOptions.Types.OptimizeMode OptimizeFor { get; set; }
Property Value
TypeDescription
FileOptionsTypesOptimizeMode

Parser

public static MessageParser<FileOptions> Parser { get; }
Property Value
TypeDescription
MessageParserFileOptions

PhpClassPrefix

public string PhpClassPrefix { get; set; }

Sets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty.

Property Value
TypeDescription
string

PhpGenericServices

public bool PhpGenericServices { get; set; }
Property Value
TypeDescription
bool

PhpMetadataNamespace

public string PhpMetadataNamespace { get; set; }

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.

Property Value
TypeDescription
string

PhpNamespace

public string PhpNamespace { get; set; }

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.

Property Value
TypeDescription
string

PyGenericServices

public bool PyGenericServices { get; set; }
Property Value
TypeDescription
bool

RubyPackage

public string RubyPackage { get; set; }

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.

Property Value
TypeDescription
string

SwiftPrefix

public string SwiftPrefix { get; set; }

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.

Property Value
TypeDescription
string

UninterpretedOption

public RepeatedField<UninterpretedOption> UninterpretedOption { get; }

The parser stores options it doesn't recognize here. See the documentation for the "Options" section above.

Property Value
TypeDescription
RepeatedFieldUninterpretedOption

Methods

CalculateSize()

public int CalculateSize()

Calculates the size of this message in Protocol Buffer wire format, in bytes.

Returns
TypeDescription
int

The number of bytes required to write this message to a coded output stream.

ClearCcEnableArenas()

public void ClearCcEnableArenas()

Clears the value of the "cc_enable_arenas" field

ClearCcGenericServices()

public void ClearCcGenericServices()

Clears the value of the "cc_generic_services" field

ClearCsharpNamespace()

public void ClearCsharpNamespace()

Clears the value of the "csharp_namespace" field

ClearDeprecated()

public void ClearDeprecated()

Clears the value of the "deprecated" field

ClearExtension<TValue>(Extension<FileOptions, TValue>)

public void ClearExtension<TValue>(Extension<FileOptions, TValue> extension)

Clears the value of the specified extension

Parameter
NameDescription
extensionExtensionFileOptions
Type Parameter
NameDescription
TValue

ClearExtension<TValue>(RepeatedExtension<FileOptions, TValue>)

public void ClearExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)

Clears the value of the specified repeated extension

Parameter
NameDescription
extensionRepeatedExtensionFileOptions
Type Parameter
NameDescription
TValue

ClearGoPackage()

public void ClearGoPackage()

Clears the value of the "go_package" field

ClearJavaGenerateEqualsAndHash()

[Obsolete]
public void ClearJavaGenerateEqualsAndHash()

Clears the value of the "java_generate_equals_and_hash" field

ClearJavaGenericServices()

public void ClearJavaGenericServices()

Clears the value of the "java_generic_services" field

ClearJavaMultipleFiles()

public void ClearJavaMultipleFiles()

Clears the value of the "java_multiple_files" field

ClearJavaOuterClassname()

public void ClearJavaOuterClassname()

Clears the value of the "java_outer_classname" field

ClearJavaPackage()

public void ClearJavaPackage()

Clears the value of the "java_package" field

ClearJavaStringCheckUtf8()

public void ClearJavaStringCheckUtf8()

Clears the value of the "java_string_check_utf8" field

ClearObjcClassPrefix()

public void ClearObjcClassPrefix()

Clears the value of the "objc_class_prefix" field

ClearOptimizeFor()

public void ClearOptimizeFor()

Clears the value of the "optimize_for" field

ClearPhpClassPrefix()

public void ClearPhpClassPrefix()

Clears the value of the "php_class_prefix" field

ClearPhpGenericServices()

public void ClearPhpGenericServices()

Clears the value of the "php_generic_services" field

ClearPhpMetadataNamespace()

public void ClearPhpMetadataNamespace()

Clears the value of the "php_metadata_namespace" field

ClearPhpNamespace()

public void ClearPhpNamespace()

Clears the value of the "php_namespace" field

ClearPyGenericServices()

public void ClearPyGenericServices()

Clears the value of the "py_generic_services" field

ClearRubyPackage()

public void ClearRubyPackage()

Clears the value of the "ruby_package" field

ClearSwiftPrefix()

public void ClearSwiftPrefix()

Clears the value of the "swift_prefix" field

Clone()

public FileOptions Clone()

Creates a deep clone of this object.

Returns
TypeDescription
FileOptions

A deep clone of this object.

Equals(FileOptions)

public bool Equals(FileOptions other)
Parameter
NameDescription
otherFileOptions
Returns
TypeDescription
bool

Equals(object)

public override bool Equals(object other)
Parameter
NameDescription
otherobject
Returns
TypeDescription
bool
Overrides

GetExtension<TValue>(Extension<FileOptions, TValue>)

public TValue GetExtension<TValue>(Extension<FileOptions, TValue> extension)

Gets the value of the specified extension

Parameter
NameDescription
extensionExtensionFileOptions
Returns
TypeDescription
TValue
Type Parameter
NameDescription
TValue

GetExtension<TValue>(RepeatedExtension<FileOptions, TValue>)

public RepeatedField<TValue> GetExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)

Gets the value of the specified repeated extension or null if the extension isn't registered in this set. For a version of this method that never returns null, use GetOrInitializeExtension<TValue>(RepeatedExtension<T, TValue>)

Parameter
NameDescription
extensionRepeatedExtensionFileOptions
Returns
TypeDescription
RepeatedField
Type Parameter
NameDescription
TValue

GetHashCode()

public override int GetHashCode()
Returns
TypeDescription
int
Overrides

GetOrInitializeExtension<TValue>(RepeatedExtension<FileOptions, TValue>)

public RepeatedField<TValue> GetOrInitializeExtension<TValue>(RepeatedExtension<FileOptions, TValue> extension)

Gets the value of the specified repeated extension, registering it if it hasn't already been registered.

Parameter
NameDescription
extensionRepeatedExtensionFileOptions
Returns
TypeDescription
RepeatedField
Type Parameter
NameDescription
TValue

HasExtension<TValue>(Extension<FileOptions, TValue>)

public bool HasExtension<TValue>(Extension<FileOptions, TValue> extension)

Gets whether the value of the specified extension is set

Parameter
NameDescription
extensionExtensionFileOptions
Returns
TypeDescription
bool
Type Parameter
NameDescription
TValue

MergeFrom(CodedInputStream)

public void MergeFrom(CodedInputStream input)

Merges the data from the specified coded input stream with the current message.

Parameter
NameDescription
inputCodedInputStream
Remarks

See the user guide for precise merge semantics.

MergeFrom(FileOptions)

public void MergeFrom(FileOptions other)

Merges the given message into this one.

Parameter
NameDescription
otherFileOptions
Remarks

See the user guide for precise merge semantics.

SetExtension<TValue>(Extension<FileOptions, TValue>, TValue)

public void SetExtension<TValue>(Extension<FileOptions, TValue> extension, TValue value)

Sets the value of the specified extension

Parameters
NameDescription
extensionExtensionFileOptions
valueTValue
Type Parameter
NameDescription
TValue

ToString()

public override string ToString()
Returns
TypeDescription
string
Overrides

WriteTo(CodedOutputStream)

public void WriteTo(CodedOutputStream output)

Writes the data to the given coded output stream.

Parameter
NameDescription
outputCodedOutputStream

Coded output stream to write the data to. Must not be null.

Extension Methods