DescriptorProtos.MessageOptions.Builder
Date: 2017-07-08

com.google.protobuf

## Class DescriptorProtos.MessageOptions.Builder

- java.lang.Object
- - com.google.protobuf.AbstractMessageLite.Builder
  - - com.google.protobuf.AbstractMessage.Builder<BuilderType>
    - - com.google.protobuf.GeneratedMessageV3.Builder<BuilderType>
      - - com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>
        - - com.google.protobuf.DescriptorProtos.MessageOptions.Builder

- All Implemented Interfaces:
    DescriptorProtos.MessageOptionsOrBuilder, GeneratedMessageV3.ExtendableMessageOrBuilder<DescriptorProtos.MessageOptions>, Message.Builder, MessageLite.Builder, MessageLiteOrBuilder, MessageOrBuilder, java.lang.Cloneable
  Enclosing class:
    DescriptorProtos.MessageOptions

      public static final class DescriptorProtos.MessageOptions.Builder
      extends GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>
      implements DescriptorProtos.MessageOptionsOrBuilder

  Protobuf type `google.protobuf.MessageOptions`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `DescriptorProtos.MessageOptions.Builder` | `addAllUninterpretedOption(java.lang.Iterable<? extends DescriptorProtos.UninterpretedOption> values)` The parser stores options it doesn't recognize here.
    `<Type> DescriptorProtos.MessageOptions.Builder` | `addExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,java.util.List<Type>> extension, Type value)` Append a value to a repeated extension.
    `DescriptorProtos.MessageOptions.Builder` | `addRepeatedField(Descriptors.FieldDescriptor field, java.lang.Object value)` Like `setRepeatedField`, but appends the value as a new element.
    `DescriptorProtos.MessageOptions.Builder` | `addUninterpretedOption(DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `addUninterpretedOption(DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `addUninterpretedOption(int index, DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `addUninterpretedOption(int index, DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `addUninterpretedOptionBuilder()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `addUninterpretedOptionBuilder(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions` | `build()` Constructs the message based on the state of the Builder.
    `DescriptorProtos.MessageOptions` | `buildPartial()` Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields.
    `DescriptorProtos.MessageOptions.Builder` | `clear()` Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
    `DescriptorProtos.MessageOptions.Builder` | `clearDeprecated()` Is this message deprecated? Depending on the target platform, this can emit Deprecated annotations for the message, or it will be completely ignored; in the very least, this is a formalization for deprecating messages.
    `<Type> DescriptorProtos.MessageOptions.Builder` | `clearExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,?> extension)` Clear an extension.
    `DescriptorProtos.MessageOptions.Builder` | `clearField(Descriptors.FieldDescriptor field)` Clears the field.
    `DescriptorProtos.MessageOptions.Builder` | `clearMapEntry()` Whether the message is an automatically generated map entry type for the maps field.
    `DescriptorProtos.MessageOptions.Builder` | `clearMessageSetWireFormat()` Set true to use the old proto1 MessageSet wire format for extensions.
    `DescriptorProtos.MessageOptions.Builder` | `clearNoStandardDescriptorAccessor()` Disables the generation of the standard "descriptor()" accessor, which can conflict with a field of the same name.
    `DescriptorProtos.MessageOptions.Builder` | `clearOneof(Descriptors.OneofDescriptor oneof)` TODO(jieluo): Clear it when all subclasses have implemented this method.
    `DescriptorProtos.MessageOptions.Builder` | `clearUninterpretedOption()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `clone()` Clones the Builder.
    `DescriptorProtos.MessageOptions` | `getDefaultInstanceForType()` Get an instance of the type with no fields set.
    `boolean` | `getDeprecated()` Is this message deprecated? Depending on the target platform, this can emit Deprecated annotations for the message, or it will be completely ignored; in the very least, this is a formalization for deprecating messages.
    `static Descriptors.Descriptor` | `getDescriptor()`
    `Descriptors.Descriptor` | `getDescriptorForType()` Get the message's type's descriptor.
    `boolean` | `getMapEntry()` Whether the message is an automatically generated map entry type for the maps field.
    `boolean` | `getMessageSetWireFormat()` Set true to use the old proto1 MessageSet wire format for extensions.
    `boolean` | `getNoStandardDescriptorAccessor()` Disables the generation of the standard "descriptor()" accessor, which can conflict with a field of the same name.
    `DescriptorProtos.UninterpretedOption` | `getUninterpretedOption(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOption.Builder` | `getUninterpretedOptionBuilder(int index)` The parser stores options it doesn't recognize here.
    `java.util.List<DescriptorProtos.UninterpretedOption.Builder>` | `getUninterpretedOptionBuilderList()` The parser stores options it doesn't recognize here.
    `int` | `getUninterpretedOptionCount()` The parser stores options it doesn't recognize here.
    `java.util.List<DescriptorProtos.UninterpretedOption>` | `getUninterpretedOptionList()` The parser stores options it doesn't recognize here.
    `DescriptorProtos.UninterpretedOptionOrBuilder` | `getUninterpretedOptionOrBuilder(int index)` The parser stores options it doesn't recognize here.
    `java.util.List<? extends DescriptorProtos.UninterpretedOptionOrBuilder>` | `getUninterpretedOptionOrBuilderList()` The parser stores options it doesn't recognize here.
    `boolean` | `hasDeprecated()` Is this message deprecated? Depending on the target platform, this can emit Deprecated annotations for the message, or it will be completely ignored; in the very least, this is a formalization for deprecating messages.
    `boolean` | `hasMapEntry()` Whether the message is an automatically generated map entry type for the maps field.
    `boolean` | `hasMessageSetWireFormat()` Set true to use the old proto1 MessageSet wire format for extensions.
    `boolean` | `hasNoStandardDescriptorAccessor()` Disables the generation of the standard "descriptor()" accessor, which can conflict with a field of the same name.
    `protected GeneratedMessageV3.FieldAccessorTable` | `internalGetFieldAccessorTable()` Get the FieldAccessorTable for this type.
    `boolean` | `isInitialized()` Returns true if all required fields in the message and all embedded messages are set, false otherwise.
    `DescriptorProtos.MessageOptions.Builder` | `mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)` Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions.
    `DescriptorProtos.MessageOptions.Builder` | `mergeFrom(DescriptorProtos.MessageOptions other)`
    `DescriptorProtos.MessageOptions.Builder` | `mergeFrom(Message other)` Merge `other` into the message being built.
    `DescriptorProtos.MessageOptions.Builder` | `mergeUnknownFields(UnknownFieldSet unknownFields)` Merge some unknown fields into the `UnknownFieldSet` for this message.
    `DescriptorProtos.MessageOptions.Builder` | `removeUninterpretedOption(int index)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `setDeprecated(boolean value)` Is this message deprecated? Depending on the target platform, this can emit Deprecated annotations for the message, or it will be completely ignored; in the very least, this is a formalization for deprecating messages.
    `<Type> DescriptorProtos.MessageOptions.Builder` | `setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,java.util.List<Type>> extension, int index, Type value)` Set the value of one element of a repeated extension.
    `<Type> DescriptorProtos.MessageOptions.Builder` | `setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,Type> extension, Type value)` Set the value of an extension.
    `DescriptorProtos.MessageOptions.Builder` | `setField(Descriptors.FieldDescriptor field, java.lang.Object value)` Sets a field to the given value.
    `DescriptorProtos.MessageOptions.Builder` | `setMapEntry(boolean value)` Whether the message is an automatically generated map entry type for the maps field.
    `DescriptorProtos.MessageOptions.Builder` | `setMessageSetWireFormat(boolean value)` Set true to use the old proto1 MessageSet wire format for extensions.
    `DescriptorProtos.MessageOptions.Builder` | `setNoStandardDescriptorAccessor(boolean value)` Disables the generation of the standard "descriptor()" accessor, which can conflict with a field of the same name.
    `DescriptorProtos.MessageOptions.Builder` | `setRepeatedField(Descriptors.FieldDescriptor field, int index, java.lang.Object value)` Sets an element of a repeated field to the given value.
    `DescriptorProtos.MessageOptions.Builder` | `setUninterpretedOption(int index, DescriptorProtos.UninterpretedOption.Builder builderForValue)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `setUninterpretedOption(int index, DescriptorProtos.UninterpretedOption value)` The parser stores options it doesn't recognize here.
    `DescriptorProtos.MessageOptions.Builder` | `setUnknownFields(UnknownFieldSet unknownFields)` Set the `UnknownFieldSet` for this message.

    - ### Methods inherited from class com.google.protobuf.GeneratedMessageV3.ExtendableBuilder

      `addExtension, addExtension, clearExtension, clearExtension, extensionsAreInitialized, getAllFields, getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, getField, getRepeatedField, getRepeatedFieldCount, hasExtension, hasExtension, hasExtension, hasField, mergeExtensionFields, parseUnknownField, setExtension, setExtension, setExtension, setExtension`

    - ### Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder

      `getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedFieldBuilder, getUnknownFields, hasOneof, internalGetMapField, internalGetMutableMapField, isClean, markClean, newBuilderForField, onBuilt, onChanged`

    - ### Methods inherited from class com.google.protobuf.AbstractMessage.Builder

      `findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString`

    - ### Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

      `addAll, mergeFrom, newUninitializedMessageException`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder

      `getExtension, getExtension, getExtension, getExtension, getExtension, getExtension, getExtensionCount, getExtensionCount, getExtensionCount, hasExtension, hasExtension, hasExtension`

    - ### Methods inherited from interface com.google.protobuf.MessageOrBuilder

      `findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof`

    - ### Methods inherited from interface com.google.protobuf.MessageLite.Builder

      `mergeFrom`

- - ### Method Detail

    - #### getDescriptor

          public static final Descriptors.Descriptor getDescriptor()

    - #### internalGetFieldAccessorTable

          protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()

      Description copied from class: `GeneratedMessageV3.Builder`
      Get the FieldAccessorTable for this type. We can't have the message class pass this in to the constructor because of bootstrapping trouble with DescriptorProtos.
      Specified by:
        `internalGetFieldAccessorTable` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`

    - #### clear

          public DescriptorProtos.MessageOptions.Builder clear()

      Description copied from class: `GeneratedMessageV3.Builder`
      Called by the initialization and clear code paths to allow subclasses to reset any of their builtin fields back to the initial values.
      Specified by:
        `clear` in interface `Message.Builder`
      Specified by:
        `clear` in interface `MessageLite.Builder`
      Overrides:
        `clear` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### getDescriptorForType

          public Descriptors.Descriptor getDescriptorForType()

      Description copied from interface: `Message.Builder`
      Get the message's type's descriptor. See `MessageOrBuilder.getDescriptorForType()`.
      Specified by:
        `getDescriptorForType` in interface `Message.Builder`
      Specified by:
        `getDescriptorForType` in interface `MessageOrBuilder`
      Overrides:
        `getDescriptorForType` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`

    - #### getDefaultInstanceForType

          public DescriptorProtos.MessageOptions getDefaultInstanceForType()

      Description copied from interface: `MessageLiteOrBuilder`
      Get an instance of the type with no fields set. Because no fields are set, all getters for singular fields will return default values and repeated fields will appear empty. This may or may not be a singleton. This differs from the `getDefaultInstance()` method of generated message classes in that this method is an abstract method of the `MessageLite` interface whereas `getDefaultInstance()` is a static method of a specific class. They return the same thing.
      Specified by:
        `getDefaultInstanceForType` in interface `GeneratedMessageV3.ExtendableMessageOrBuilder<DescriptorProtos.MessageOptions>`
      Specified by:
        `getDefaultInstanceForType` in interface `MessageLiteOrBuilder`
      Specified by:
        `getDefaultInstanceForType` in interface `MessageOrBuilder`

    - #### build

          public DescriptorProtos.MessageOptions build()

      Description copied from interface: `MessageLite.Builder`
      Constructs the message based on the state of the Builder. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
        `build` in interface `Message.Builder`
      Specified by:
        `build` in interface `MessageLite.Builder`

    - #### buildPartial

          public DescriptorProtos.MessageOptions buildPartial()

      Description copied from interface: `MessageLite.Builder`
      Like `MessageLite.Builder.build()`, but does not throw an exception if the message is missing required fields. Instead, a partial message is returned. Subsequent changes to the Builder will not affect the returned message.
      Specified by:
        `buildPartial` in interface `Message.Builder`
      Specified by:
        `buildPartial` in interface `MessageLite.Builder`

    - #### clone

          public DescriptorProtos.MessageOptions.Builder clone()

      Description copied from interface: `MessageLite.Builder`
      Clones the Builder.
      Specified by:
        `clone` in interface `Message.Builder`
      Specified by:
        `clone` in interface `MessageLite.Builder`
      Overrides:
        `clone` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`
      See Also:
        `Object.clone()`

    - #### setField

          public DescriptorProtos.MessageOptions.Builder setField(Descriptors.FieldDescriptor field,
                                                         java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Sets a field to the given value. The value must be of the correct type for this field, i.e. the same type that `MessageOrBuilder.getField(Descriptors.FieldDescriptor)` would return.
      Specified by:
        `setField` in interface `Message.Builder`
      Overrides:
        `setField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### clearField

          public DescriptorProtos.MessageOptions.Builder clearField(Descriptors.FieldDescriptor field)

      Description copied from interface: `Message.Builder`
      Clears the field. This is exactly equivalent to calling the generated "clear" accessor method corresponding to the field.
      Specified by:
        `clearField` in interface `Message.Builder`
      Overrides:
        `clearField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### clearOneof

          public DescriptorProtos.MessageOptions.Builder clearOneof(Descriptors.OneofDescriptor oneof)

      Description copied from class: `AbstractMessage.Builder`
      TODO(jieluo): Clear it when all subclasses have implemented this method.
      Specified by:
        `clearOneof` in interface `Message.Builder`
      Overrides:
        `clearOneof` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`

    - #### setRepeatedField

          public DescriptorProtos.MessageOptions.Builder setRepeatedField(Descriptors.FieldDescriptor field,
                                                                 int index,
                                                                 java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Sets an element of a repeated field to the given value. The value must be of the correct type for this field, i.e. the same type that `MessageOrBuilder.getRepeatedField(Descriptors.FieldDescriptor,int)` would return.
      Specified by:
        `setRepeatedField` in interface `Message.Builder`
      Overrides:
        `setRepeatedField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### addRepeatedField

          public DescriptorProtos.MessageOptions.Builder addRepeatedField(Descriptors.FieldDescriptor field,
                                                                 java.lang.Object value)

      Description copied from interface: `Message.Builder`
      Like `setRepeatedField`, but appends the value as a new element.
      Specified by:
        `addRepeatedField` in interface `Message.Builder`
      Overrides:
        `addRepeatedField` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### setExtension

          public <Type> DescriptorProtos.MessageOptions.Builder setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,Type> extension,
                                                                    Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Set the value of an extension.
      Overrides:
        `setExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### setExtension

          public <Type> DescriptorProtos.MessageOptions.Builder setExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,java.util.List<Type>> extension,
                                                                    int index,
                                                                    Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Set the value of one element of a repeated extension.
      Overrides:
        `setExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### addExtension

          public <Type> DescriptorProtos.MessageOptions.Builder addExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,java.util.List<Type>> extension,
                                                                    Type value)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Append a value to a repeated extension.
      Overrides:
        `addExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### clearExtension

          public <Type> DescriptorProtos.MessageOptions.Builder clearExtension(GeneratedMessage.GeneratedExtension<DescriptorProtos.MessageOptions,?> extension)

      Description copied from class: `GeneratedMessageV3.ExtendableBuilder`
      Clear an extension.
      Overrides:
        `clearExtension` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.MessageOptions.Builder mergeFrom(Message other)

      Description copied from interface: `Message.Builder`
      Merge `other` into the message being built. `other` must have the exact same type as `this` (i.e. `getDescriptorForType() == other.getDescriptorForType()`). Merging occurs as follows. For each field:
      * For singular primitive fields, if the field is set in `other`, then `other`'s value overwrites the value in this message.
      * For singular message fields, if the field is set in `other`, it is merged into the corresponding sub-message of this message using the same merging rules.
      * For repeated fields, the elements in `other` are concatenated with the elements in this message. * For oneof groups, if the other message has one of the fields set, the group of this message is cleared and replaced by the field of the other message, so that the oneof constraint is preserved. This is equivalent to the `Message::MergeFrom` method in C++.
      Specified by:
        `mergeFrom` in interface `Message.Builder`
      Overrides:
        `mergeFrom` in class `AbstractMessage.Builder<DescriptorProtos.MessageOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.MessageOptions.Builder mergeFrom(DescriptorProtos.MessageOptions other)

    - #### isInitialized

          public final boolean isInitialized()

      Description copied from interface: `MessageLiteOrBuilder`
      Returns true if all required fields in the message and all embedded messages are set, false otherwise.

      See also: `MessageOrBuilder.getInitializationErrorString()`

      Specified by:
        `isInitialized` in interface `MessageLiteOrBuilder`
      Overrides:
        `isInitialized` in class `GeneratedMessageV3.ExtendableBuilder<DescriptorProtos.MessageOptions,DescriptorProtos.MessageOptions.Builder>`

    - #### mergeFrom

          public DescriptorProtos.MessageOptions.Builder mergeFrom(CodedInputStream input,
                                                          ExtensionRegistryLite extensionRegistry)
                                                            throws java.io.IOException

      Description copied from interface: `MessageLite.Builder`
      Like `MessageLite.Builder.mergeFrom(CodedInputStream)`, but also parses extensions. The extensions that you want to be able to parse must be registered in `extensionRegistry`. Extensions not in the registry will be treated as unknown fields.
      Specified by:
        `mergeFrom` in interface `Message.Builder`
      Specified by:
        `mergeFrom` in interface `MessageLite.Builder`
      Overrides:
        `mergeFrom` in class `AbstractMessage.Builder<DescriptorProtos.MessageOptions.Builder>`
      Throws:
        `java.io.IOException`

    - #### hasMessageSetWireFormat

          public boolean hasMessageSetWireFormat()

           Set true to use the old proto1 MessageSet wire format for extensions.
           This is provided for backwards-compatibility with the MessageSet wire
           format.  You should not use this for any other reason:  It's less
           efficient, has fewer features, and is more complicated.
           The message must be defined exactly as follows:
             message Foo {
               option message_set_wire_format = true;
               extensions 4 to max;
             }
           Note that the message cannot have any defined fields; MessageSets only
           have extensions.
           All extensions of your type must be singular messages; e.g. they cannot
           be int32s, enums, or repeated messages.
           Because this is an option, the above two restrictions are not enforced by
           the protocol compiler.

      `optional bool message_set_wire_format = 1 [default = false];`
      Specified by:
        `hasMessageSetWireFormat` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getMessageSetWireFormat

          public boolean getMessageSetWireFormat()

           Set true to use the old proto1 MessageSet wire format for extensions.
           This is provided for backwards-compatibility with the MessageSet wire
           format.  You should not use this for any other reason:  It's less
           efficient, has fewer features, and is more complicated.
           The message must be defined exactly as follows:
             message Foo {
               option message_set_wire_format = true;
               extensions 4 to max;
             }
           Note that the message cannot have any defined fields; MessageSets only
           have extensions.
           All extensions of your type must be singular messages; e.g. they cannot
           be int32s, enums, or repeated messages.
           Because this is an option, the above two restrictions are not enforced by
           the protocol compiler.

      `optional bool message_set_wire_format = 1 [default = false];`
      Specified by:
        `getMessageSetWireFormat` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### setMessageSetWireFormat

          public DescriptorProtos.MessageOptions.Builder setMessageSetWireFormat(boolean value)

           Set true to use the old proto1 MessageSet wire format for extensions.
           This is provided for backwards-compatibility with the MessageSet wire
           format.  You should not use this for any other reason:  It's less
           efficient, has fewer features, and is more complicated.
           The message must be defined exactly as follows:
             message Foo {
               option message_set_wire_format = true;
               extensions 4 to max;
             }
           Note that the message cannot have any defined fields; MessageSets only
           have extensions.
           All extensions of your type must be singular messages; e.g. they cannot
           be int32s, enums, or repeated messages.
           Because this is an option, the above two restrictions are not enforced by
           the protocol compiler.

      `optional bool message_set_wire_format = 1 [default = false];`

    - #### clearMessageSetWireFormat

          public DescriptorProtos.MessageOptions.Builder clearMessageSetWireFormat()

           Set true to use the old proto1 MessageSet wire format for extensions.
           This is provided for backwards-compatibility with the MessageSet wire
           format.  You should not use this for any other reason:  It's less
           efficient, has fewer features, and is more complicated.
           The message must be defined exactly as follows:
             message Foo {
               option message_set_wire_format = true;
               extensions 4 to max;
             }
           Note that the message cannot have any defined fields; MessageSets only
           have extensions.
           All extensions of your type must be singular messages; e.g. they cannot
           be int32s, enums, or repeated messages.
           Because this is an option, the above two restrictions are not enforced by
           the protocol compiler.

      `optional bool message_set_wire_format = 1 [default = false];`

    - #### hasNoStandardDescriptorAccessor

          public boolean hasNoStandardDescriptorAccessor()

           Disables the generation of the standard "descriptor()" accessor, which can
           conflict with a field of the same name.  This is meant to make migration
           from proto1 easier; new code should avoid fields named "descriptor".

      `optional bool no_standard_descriptor_accessor = 2 [default = false];`
      Specified by:
        `hasNoStandardDescriptorAccessor` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getNoStandardDescriptorAccessor

          public boolean getNoStandardDescriptorAccessor()

           Disables the generation of the standard "descriptor()" accessor, which can
           conflict with a field of the same name.  This is meant to make migration
           from proto1 easier; new code should avoid fields named "descriptor".

      `optional bool no_standard_descriptor_accessor = 2 [default = false];`
      Specified by:
        `getNoStandardDescriptorAccessor` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### setNoStandardDescriptorAccessor

          public DescriptorProtos.MessageOptions.Builder setNoStandardDescriptorAccessor(boolean value)

           Disables the generation of the standard "descriptor()" accessor, which can
           conflict with a field of the same name.  This is meant to make migration
           from proto1 easier; new code should avoid fields named "descriptor".

      `optional bool no_standard_descriptor_accessor = 2 [default = false];`

    - #### clearNoStandardDescriptorAccessor

          public DescriptorProtos.MessageOptions.Builder clearNoStandardDescriptorAccessor()

           Disables the generation of the standard "descriptor()" accessor, which can
           conflict with a field of the same name.  This is meant to make migration
           from proto1 easier; new code should avoid fields named "descriptor".

      `optional bool no_standard_descriptor_accessor = 2 [default = false];`

    - #### hasDeprecated

          public boolean hasDeprecated()

           Is this message deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for the message, or it will be completely ignored; in the very least,
           this is a formalization for deprecating messages.

      `optional bool deprecated = 3 [default = false];`
      Specified by:
        `hasDeprecated` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getDeprecated

          public boolean getDeprecated()

           Is this message deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for the message, or it will be completely ignored; in the very least,
           this is a formalization for deprecating messages.

      `optional bool deprecated = 3 [default = false];`
      Specified by:
        `getDeprecated` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### setDeprecated

          public DescriptorProtos.MessageOptions.Builder setDeprecated(boolean value)

           Is this message deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for the message, or it will be completely ignored; in the very least,
           this is a formalization for deprecating messages.

      `optional bool deprecated = 3 [default = false];`

    - #### clearDeprecated

          public DescriptorProtos.MessageOptions.Builder clearDeprecated()

           Is this message deprecated?
           Depending on the target platform, this can emit Deprecated annotations
           for the message, or it will be completely ignored; in the very least,
           this is a formalization for deprecating messages.

      `optional bool deprecated = 3 [default = false];`

    - #### hasMapEntry

          public boolean hasMapEntry()

           Whether the message is an automatically generated map entry type for the
           maps field.
           For maps fields:
               map<KeyType, ValueType> map_field = 1;
           The parsed descriptor looks like:
               message MapFieldEntry {
                   option map_entry = true;
                   optional KeyType key = 1;
                   optional ValueType value = 2;
               }
               repeated MapFieldEntry map_field = 1;
           Implementations may choose not to generate the map_entry=true message, but
           use a native map in the target language to hold the keys and values.
           The reflection APIs in such implementions still need to work as
           if the field is a repeated message field.
           NOTE: Do not set the option in .proto files. Always use the maps syntax
           instead. The option should only be implicitly set by the proto compiler
           parser.

      `optional bool map_entry = 7;`
      Specified by:
        `hasMapEntry` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getMapEntry

          public boolean getMapEntry()

           Whether the message is an automatically generated map entry type for the
           maps field.
           For maps fields:
               map<KeyType, ValueType> map_field = 1;
           The parsed descriptor looks like:
               message MapFieldEntry {
                   option map_entry = true;
                   optional KeyType key = 1;
                   optional ValueType value = 2;
               }
               repeated MapFieldEntry map_field = 1;
           Implementations may choose not to generate the map_entry=true message, but
           use a native map in the target language to hold the keys and values.
           The reflection APIs in such implementions still need to work as
           if the field is a repeated message field.
           NOTE: Do not set the option in .proto files. Always use the maps syntax
           instead. The option should only be implicitly set by the proto compiler
           parser.

      `optional bool map_entry = 7;`
      Specified by:
        `getMapEntry` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### setMapEntry

          public DescriptorProtos.MessageOptions.Builder setMapEntry(boolean value)

           Whether the message is an automatically generated map entry type for the
           maps field.
           For maps fields:
               map<KeyType, ValueType> map_field = 1;
           The parsed descriptor looks like:
               message MapFieldEntry {
                   option map_entry = true;
                   optional KeyType key = 1;
                   optional ValueType value = 2;
               }
               repeated MapFieldEntry map_field = 1;
           Implementations may choose not to generate the map_entry=true message, but
           use a native map in the target language to hold the keys and values.
           The reflection APIs in such implementions still need to work as
           if the field is a repeated message field.
           NOTE: Do not set the option in .proto files. Always use the maps syntax
           instead. The option should only be implicitly set by the proto compiler
           parser.

      `optional bool map_entry = 7;`

    - #### clearMapEntry

          public DescriptorProtos.MessageOptions.Builder clearMapEntry()

           Whether the message is an automatically generated map entry type for the
           maps field.
           For maps fields:
               map<KeyType, ValueType> map_field = 1;
           The parsed descriptor looks like:
               message MapFieldEntry {
                   option map_entry = true;
                   optional KeyType key = 1;
                   optional ValueType value = 2;
               }
               repeated MapFieldEntry map_field = 1;
           Implementations may choose not to generate the map_entry=true message, but
           use a native map in the target language to hold the keys and values.
           The reflection APIs in such implementions still need to work as
           if the field is a repeated message field.
           NOTE: Do not set the option in .proto files. Always use the maps syntax
           instead. The option should only be implicitly set by the proto compiler
           parser.

      `optional bool map_entry = 7;`

    - #### getUninterpretedOptionList

          public java.util.List<DescriptorProtos.UninterpretedOption> getUninterpretedOptionList()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionList` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getUninterpretedOptionCount

          public int getUninterpretedOptionCount()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionCount` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getUninterpretedOption

          public DescriptorProtos.UninterpretedOption getUninterpretedOption(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOption` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### setUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder setUninterpretedOption(int index,
                                                                       DescriptorProtos.UninterpretedOption value)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### setUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder setUninterpretedOption(int index,
                                                                       DescriptorProtos.UninterpretedOption.Builder builderForValue)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder addUninterpretedOption(DescriptorProtos.UninterpretedOption value)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder addUninterpretedOption(int index,
                                                                       DescriptorProtos.UninterpretedOption value)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder addUninterpretedOption(DescriptorProtos.UninterpretedOption.Builder builderForValue)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder addUninterpretedOption(int index,
                                                                       DescriptorProtos.UninterpretedOption.Builder builderForValue)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addAllUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder addAllUninterpretedOption(java.lang.Iterable<? extends DescriptorProtos.UninterpretedOption> values)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### clearUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder clearUninterpretedOption()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### removeUninterpretedOption

          public DescriptorProtos.MessageOptions.Builder removeUninterpretedOption(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### getUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder getUninterpretedOptionBuilder(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### getUninterpretedOptionOrBuilder

          public DescriptorProtos.UninterpretedOptionOrBuilder getUninterpretedOptionOrBuilder(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionOrBuilder` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### getUninterpretedOptionOrBuilderList

          public java.util.List<? extends DescriptorProtos.UninterpretedOptionOrBuilder> getUninterpretedOptionOrBuilderList()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`
      Specified by:
        `getUninterpretedOptionOrBuilderList` in interface `DescriptorProtos.MessageOptionsOrBuilder`

    - #### addUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder addUninterpretedOptionBuilder()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### addUninterpretedOptionBuilder

          public DescriptorProtos.UninterpretedOption.Builder addUninterpretedOptionBuilder(int index)

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### getUninterpretedOptionBuilderList

          public java.util.List<DescriptorProtos.UninterpretedOption.Builder> getUninterpretedOptionBuilderList()

           The parser stores options it doesn't recognize here. See above.

      `repeated .google.protobuf.UninterpretedOption uninterpreted_option = 999;`

    - #### setUnknownFields

          public final DescriptorProtos.MessageOptions.Builder setUnknownFields(UnknownFieldSet unknownFields)

      Description copied from interface: `Message.Builder`
      Set the `UnknownFieldSet` for this message.
      Specified by:
        `setUnknownFields` in interface `Message.Builder`
      Overrides:
        `setUnknownFields` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`

    - #### mergeUnknownFields

          public final DescriptorProtos.MessageOptions.Builder mergeUnknownFields(UnknownFieldSet unknownFields)

      Description copied from interface: `Message.Builder`
      Merge some unknown fields into the `UnknownFieldSet` for this message.
      Specified by:
        `mergeUnknownFields` in interface `Message.Builder`
      Overrides:
        `mergeUnknownFields` in class `GeneratedMessageV3.Builder<DescriptorProtos.MessageOptions.Builder>`