# Google Data APIs Client Library (1.43.0)

## com.google.gdata.data.photos
Interface Extensible

All Known Subinterfaces:
  AlbumData, AtomData, CommentData, GphotoData, MediaData, PhotoData, TagData, UserData

All Known Implementing Classes:
  AlbumDataImpl, AlbumEntry, AlbumFeed, CommentDataImpl, CommentEntry, ExifTags, GphotoDataImpl, GphotoEntry, GphotoFeed, MediaDataImpl, PhotoDataImpl, PhotoEntry, PhotoFeed, TagDataImpl, TagEntry, UserDataImpl, UserEntry, UserFeed

    public interface Extensible

Basic interface for all extendable objects. This is just an interface for a subset of the methods on ExtensionPoint. Any class implementing this interface will forward these methods on to the `ExtensionPoint` it is using for storing the actual extension information.

Method Summary
`void` `addExtension(Extension extension)` Adds an extension object.
`void` `addRepeatingExtension(Extension extension)` Adds a repeating extension object.
`void` `declareExtensions(ExtensionProfile extProfile)` Declares the set of expected Extension types for an Extensible within the target extension profile.
`void` `removeExtension(java.lang.Class<? extends Extension> extensionClass)` Removes an extension object based on its class.
`void` `removeExtension(Extension extension)` Removes an extension object.
`void` `removeRepeatingExtension(Extension ext)` Removes a repeating extension object.
`void` `setExtension(Extension extension)` Sets an extension object.

Method Detail

### declareExtensions

    void declareExtensions(ExtensionProfile extProfile)

  Declares the set of expected Extension types for an Extensible within the target extension profile. Forwards to `ExtensionPoint.declareExtensions(ExtensionProfile)`.

  Parameters:
    `extProfile` - the ExtensionProfile to initialize.

### setExtension

    void setExtension(Extension extension)

  Sets an extension object. If one exists of this type, it's replaced. Forwards to `ExtensionPoint.setExtension(Extension)`.

### addExtension

    void addExtension(Extension extension)

  Adds an extension object. Forwards to `ExtensionPoint.addExtension(Extension)`.

### addRepeatingExtension

    void addRepeatingExtension(Extension extension)

  Adds a repeating extension object. Forwards to `ExtensionPoint.addRepeatingExtension(Extension)`.

### removeExtension

    void removeExtension(Extension extension)

  Removes an extension object. Forwards to `ExtensionPoint.removeExtension(Extension)`.

### removeExtension

    void removeExtension(java.lang.Class<? extends Extension> extensionClass)

  Removes an extension object based on its class. Forwards to `ExtensionPoint.removeExtension(Class)`.

### removeRepeatingExtension

    void removeRepeatingExtension(Extension ext)

  Removes a repeating extension object. Forwards to `ExtensionPoint.removeRepeatingExtension(Extension)`.