Optional data: PartialMessage<FileOptions>Optional ccEnables the use of arenas for the proto messages in this file. This applies only to generated classes for C++.
from field: optional bool cc_enable_arenas = 31 [default = true];
Optional ccShould 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.
from field: optional bool cc_generic_services = 16 [default = false];
Optional csharpNamespace for generated classes; defaults to the package.
from field: optional string csharp_namespace = 37;
Optional deprecatedIs 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.
from field: optional bool deprecated = 23 [default = false];
Optional featuresAny features defined in the specific edition.
from field: optional google.protobuf.FeatureSet features = 50;
Optional goSets the Go package where structs generated from this .proto will be placed. If omitted, the Go package will be derived from the following:
from field: optional string go_package = 11;
Optional javaThis option does nothing.
from field: optional bool java_generate_equals_and_hash = 20 [deprecated = true];
Optional javafrom field: optional bool java_generic_services = 17 [default = false];
Optional javaIf 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.
from field: optional bool java_multiple_files = 10 [default = false];
Optional javaControls 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.
from field: optional string java_outer_classname = 8;
Optional javaSets 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.
from field: optional string java_package = 1;
Optional javaA 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.
from field: optional bool java_string_check_utf8 = 27 [default = false];
Optional objcSets the objective c class prefix which is prepended to all objective c generated classes from this .proto. There is no default.
from field: optional string objc_class_prefix = 36;
Optional optimizefrom field: optional google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
Optional phpSets the php class prefix which is prepended to all php generated classes from this .proto. Default is empty.
from field: optional string php_class_prefix = 40;
Optional phpUse 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.
from field: optional string php_metadata_namespace = 44;
Optional phpUse 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.
from field: optional string php_namespace = 41;
Optional pyfrom field: optional bool py_generic_services = 18 [default = false];
Optional rubyUse 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.
from field: optional string ruby_package = 45;
Optional swiftBy 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.
from field: optional string swift_prefix = 39;
The parser stores options it doesn't recognize here. See the documentation for the "Options" section above.
from field: repeated google.protobuf.UninterpretedOption uninterpreted_option = 999;
Static Readonly fieldsStatic Readonly runtimeStatic Readonly typeCreate a deep copy.
Compare with a message of the same type. Note that this function disregards extensions and unknown fields.
Parse from binary data, merging fields.
Repeated fields are appended. Map entries are added, overwriting existing keys.
If a message field is already present, it will be merged with the new data.
Optional options: Partial<BinaryReadOptions>Parse a message from a JSON value.
Optional options: Partial<JsonReadOptions>Parse a message from a JSON string.
Optional options: Partial<JsonReadOptions>Retrieve the MessageType of this message - a singleton that represents the protobuf message declaration and provides metadata for reflection- based operations.
Serialize the message to binary data.
Optional options: Partial<BinaryWriteOptions>Protected toJSONOverride for serialization behavior. This will be invoked when calling JSON.stringify on this message (i.e. JSON.stringify(msg)).
Note that this will not serialize google.protobuf.Any with a packed message because the protobuf JSON format specifies that it needs to be unpacked, and this is only possible with a type registry to look up the message type. As a result, attempting to serialize a message with this type will throw an Error.
This method is protected because you should not need to invoke it directly -- instead use JSON.stringify or toJsonString for stringified JSON. Alternatively, if actual JSON is desired, you should use toJson.
Serialize the message to a JSON value, a JavaScript value that can be passed to JSON.stringify().
Optional options: Partial<JsonWriteOptions>Serialize the message to a JSON string.
Optional options: Partial<JsonWriteStringOptions>Static equalsStatic fromOptional options: Partial<BinaryReadOptions>Static fromOptional options: Partial<JsonReadOptions>Static fromOptional options: Partial<JsonReadOptions>
Generated
from message google.protobuf.FileOptions