Package com.google.protobuf

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

- java.lang.Object
- - 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

All Methods Instance Methods Concrete Methods
`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 `Extension<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: `Extension`
Returns the field number of the extension.

Specified by:
  `getNumber` in class `Extension<ContainingType extends Message,​Type>`

#### getLiteType

    public WireFormat.FieldType getLiteType()

Description copied from class: `Extension`
Returns the type of the field.

Specified by:
  `getLiteType` in class `Extension<ContainingType extends Message,​Type>`

#### isRepeated

    public boolean isRepeated()

Description copied from class: `Extension`
Returns whether it is a repeated field.

Specified by:
  `isRepeated` in class `Extension<ContainingType extends Message,​Type>`

#### getDefaultValue

    public Type getDefaultValue()

Description copied from class: `Extension`
Returns the default value of the extension field.

Specified by:
  `getDefaultValue` in class `Extension<ContainingType extends Message,​Type>`