Class ExtendableObject

java.lang.Object
ca.phon.extensions.ExtendableObject
All Implemented Interfaces:
IExtendable
Direct Known Subclasses:
AlignedSyllable, Comment, Group, MediaSegment, Participant, Participants, Record, Records, Session, SessionFactory, SessionMetadata, Tier, TierDescription, TierString, TierViewItem, Transcriber, Transcribers, Word

public class ExtendableObject extends Object implements IExtendable
Object with extension support enabled.
  • Constructor Details

    • ExtendableObject

      public ExtendableObject()
  • Method Details

    • getExtensions

      public Set<Class<?>> getExtensions()
      Description copied from interface: IExtendable
      Return all extension types supported
      Specified by:
      getExtensions in interface IExtendable
    • getExtension

      public <T> T getExtension(Class<T> cap)
      Description copied from interface: IExtendable
      Get the requested extension if available.
      Specified by:
      getExtension in interface IExtendable
      Returns:
      the capability object or null if the cability is not available
    • putExtension

      public <T> T putExtension(Class<T> cap, T impl)
      Description copied from interface: IExtendable
      Add a new extension.
      Specified by:
      putExtension in interface IExtendable
      Parameters:
      cap - the extension to add
      Returns:
      the added extension implementation
    • removeExtension

      public <T> T removeExtension(Class<T> cap)
      Description copied from interface: IExtendable
      Remove a capability.
      Specified by:
      removeExtension in interface IExtendable
      Parameters:
      cap - the capability to remove