GeneratedMessage.GeneratedExtension
Date: 2017-07-08

com.google.protobuf

## Class GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>

- java.lang.Object
- - com.google.protobuf.ExtensionLite<ContainingType,Type>
  - - com.google.protobuf.Extension<ContainingType,Type>
    - - com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingType,Type>

- Enclosing class:
    GeneratedMessage

      public static class GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>
      extends Extension<ContainingType,Type>

  Type used to represent generated extensions. The protocol compiler generates a static singleton instance of this class for each extension.

  For example, imagine you have the `.proto` file:

       option java_class = "MyProto";

       message Foo {
         extensions 1000 to max;
       }

       extend Foo {
         optional int32 bar;
       }

  Then, `MyProto.Foo.bar` has type `GeneratedExtension<MyProto.Foo, Integer>`.

  In general, users should ignore the details of this type, and simply use these static singletons as parameters to the extension accessors defined in `GeneratedMessage.ExtendableMessage` and `GeneratedMessage.ExtendableBuilder`.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.google.protobuf.Extension

      `Extension.ExtensionType, Extension.MessageType`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.Object` | `fromReflectionType(java.lang.Object value)` Convert from the type used by the reflection accessors to the type used by native accessors.
    `Type` | `getDefaultValue()` Returns the default value of the extension field.
    `Descriptors.FieldDescriptor` | `getDescriptor()` Returns the descriptor of the extension.
    `protected Extension.ExtensionType` | `getExtensionType()`
    `WireFormat.FieldType` | `getLiteType()` Returns the type of the field.
    `Message` | `getMessageDefaultInstance()` If the extension is an embedded message or group, returns the default instance of the message.
    `int` | `getNumber()` Returns the field number of the extension.
    `void` | `internalInit(Descriptors.FieldDescriptor descriptor)` For use by generated code only.
    `boolean` | `isRepeated()` Returns whether it is a repeated field.
    `protected java.lang.Object` | `singularFromReflectionType(java.lang.Object value)` Like `fromReflectionType(Object)`, but if the type is a repeated type, this converts a single element.
    `protected java.lang.Object` | `singularToReflectionType(java.lang.Object value)` Like `toReflectionType(Object)`, but if the type is a repeated type, this converts a single element.
    `protected java.lang.Object` | `toReflectionType(java.lang.Object value)` Convert from the type used by the native accessors to the type used by reflection accessors.

    - ### Methods inherited from class com.google.protobuf.Extension

      `getMessageType`

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

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

- - ### Method Detail

    - #### internalInit

          public void internalInit(Descriptors.FieldDescriptor descriptor)

      For use by generated code only.

    - #### getDescriptor

          public Descriptors.FieldDescriptor getDescriptor()

      Description copied from class: `Extension`
      Returns the descriptor of the extension.
      Specified by:
        `getDescriptor` in class `Extension<ContainingType extends Message,Type>`

    - #### getMessageDefaultInstance

          public Message getMessageDefaultInstance()

      If the extension is an embedded message or group, returns the default instance of the message.
      Specified by:
        `getMessageDefaultInstance` in class `ExtensionLite<ContainingType extends Message,Type>`

    - #### getExtensionType

          protected Extension.ExtensionType getExtensionType()

      Overrides:
        `getExtensionType` in class `Extension<ContainingType extends Message,Type>`

    - #### fromReflectionType

          protected java.lang.Object fromReflectionType(java.lang.Object value)

      Convert from the type used by the reflection accessors to the type used by native accessors. E.g., for enums, the reflection accessors use EnumValueDescriptors but the native accessors use the generated enum type.
      Specified by:
        `fromReflectionType` in class `Extension<ContainingType extends Message,Type>`

    - #### singularFromReflectionType

          protected java.lang.Object singularFromReflectionType(java.lang.Object value)

      Like `fromReflectionType(Object)`, but if the type is a repeated type, this converts a single element.
      Specified by:
        `singularFromReflectionType` in class `Extension<ContainingType extends Message,Type>`

    - #### toReflectionType

          protected java.lang.Object toReflectionType(java.lang.Object value)

      Convert from the type used by the native accessors to the type used by reflection accessors. E.g., for enums, the reflection accessors use EnumValueDescriptors but the native accessors use the generated enum type.
      Specified by:
        `toReflectionType` in class `Extension<ContainingType extends Message,Type>`

    - #### singularToReflectionType

          protected java.lang.Object singularToReflectionType(java.lang.Object value)

      Like `toReflectionType(Object)`, but if the type is a repeated type, this converts a single element.
      Specified by:
        `singularToReflectionType` in class `Extension<ContainingType extends Message,Type>`

    - #### getNumber

          public int getNumber()

      Description copied from class: `ExtensionLite`
      Returns the field number of the extension.
      Specified by:
        `getNumber` in class `ExtensionLite<ContainingType extends Message,Type>`

    - #### getLiteType

          public WireFormat.FieldType getLiteType()

      Description copied from class: `ExtensionLite`
      Returns the type of the field.
      Specified by:
        `getLiteType` in class `ExtensionLite<ContainingType extends Message,Type>`

    - #### isRepeated

          public boolean isRepeated()

      Description copied from class: `ExtensionLite`
      Returns whether it is a repeated field.
      Specified by:
        `isRepeated` in class `ExtensionLite<ContainingType extends Message,Type>`

    - #### getDefaultValue

          public Type getDefaultValue()

      Description copied from class: `ExtensionLite`
      Returns the default value of the extension field.
      Specified by:
        `getDefaultValue` in class `ExtensionLite<ContainingType extends Message,Type>`