Package com.google.protobuf

## Class Extension<ContainingType extends MessageLite,​Type>

- java.lang.Object
- - com.google.protobuf.Extension<ContainingType,​Type>

Direct Known Subclasses:
  `GeneratedMessage.GeneratedExtension`

    public abstract class Extension<ContainingType extends MessageLite,​Type>
    extends java.lang.Object

Interface that generated extensions implement.

Author:
  liujisi@google.com (Jisi Liu)

### Nested Class Summary

Nested Classes
`protected static class` `Extension.ExtensionType` The API type that the extension is used for.
`static class` `Extension.MessageType` Type of a message extension.

### Constructor Summary

Constructors
`Extension()`

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract java.lang.Object` `fromReflectionType​(java.lang.Object value)`
`abstract Type` `getDefaultValue()` Returns the default value of the extension field.
`abstract Descriptors.FieldDescriptor` `getDescriptor()` Returns the descriptor of the extension.
`protected Extension.ExtensionType` `getExtensionType()`
`abstract WireFormat.FieldType` `getLiteType()` Returns the type of the field.
`abstract MessageLite` `getMessageDefaultInstance()` Returns the default instance of the extension field, if it's a message extension.
`Extension.MessageType` `getMessageType()` If the extension is a message extension (i.e., getLiteType() == MESSAGE), returns the type of the message, otherwise undefined.
`abstract int` `getNumber()` Returns the field number of the extension.
`abstract boolean` `isRepeated()` Returns whether it is a repeated field.
`protected abstract java.lang.Object` `singularFromReflectionType​(java.lang.Object value)`
`protected abstract java.lang.Object` `singularToReflectionType​(java.lang.Object value)`
`protected abstract java.lang.Object` `toReflectionType​(java.lang.Object value)`

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

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

### Constructor Detail

#### Extension

    public Extension()

### Method Detail

#### getNumber

    public abstract int getNumber()

Returns the field number of the extension.

#### getLiteType

    public abstract WireFormat.FieldType getLiteType()

Returns the type of the field.

#### isRepeated

    public abstract boolean isRepeated()

Returns whether it is a repeated field.

#### getDescriptor

    public abstract Descriptors.FieldDescriptor getDescriptor()

Returns the descriptor of the extension.

#### getDefaultValue

    public abstract Type getDefaultValue()

Returns the default value of the extension field.

#### getMessageDefaultInstance

    public abstract MessageLite getMessageDefaultInstance()

Returns the default instance of the extension field, if it's a message extension.

#### getExtensionType

    protected Extension.ExtensionType getExtensionType()

#### getMessageType

    public Extension.MessageType getMessageType()

If the extension is a message extension (i.e., getLiteType() == MESSAGE), returns the type of the message, otherwise undefined.

#### fromReflectionType

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

#### singularFromReflectionType

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

#### toReflectionType

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

#### singularToReflectionType

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