Interface IExtendable

All Known Subinterfaces:
OrthoElement, PhonScript, Project
All Known Implementing Classes:
AboutPanel, AbstractOrthoElement, AbstractProject, AddGroupEdit, AddParticipantEdit, AddRecordEdit, AddTierEdit, AlignedSyllable, AlignmentMarker, AnalysisWizard, AnonymizeParticipantInfoWizard, AudioFileLongSound, BasicScript, BasicSyllabifier, BlindTierEdit, BreadcrumbWizardFrame, BufferPanel, BufferWindow, ChangeSpeakerEdit, CheckWizard, CheckWizardStep1, Comment, CommonModuleFrame, CompoundPhone, CompoundWordMarker, Contraction, ConvertFlatTierEdit, CorpusTemplateEditor, DeleteRecordEdit, DeriveSessionWizard, DesktopProject, DetectorResult, Diacritic, DividedEditorView, EditorView, ExportWizard, ExtendableObject, ExtensionSupport, FindAndReplaceEditorView, GitCommitWizard, GitProgressBuffer, Group, HarmonyDetectorResult, ImportWizard, IntonationGroup, IntraWordPause, IPADictionary, IPADictionaryLibrary, IPAElement, IPALookupEdit, IPALookupView, IpaMapFrame, IPATranscript, ITRWizard, LazyQueryScript, Linker, LocalProject, LogViewer, LongSound, MediaLocationEdit, MediaPlayerEditorView, MediaSegment, MergeAllGroupsEdit, MergeGroupEdit, MergeSessionStep1, MergeSessionStep2, MetathesisDetectorResult, NodeWizard, OpgraphEditor, OrthoComment, OrthoEvent, Orthography, OrthoPunct, OrthoWord, OrthoWordnet, Participant, Participants, ParticipantUndoableEdit, Pause, Phone, PhoneMap, PhonexMatcherReference, PhonTalkDebugView, ProjectFrame, ProjectParticpantsWindow, ProjectWindow, QueryAndReportWizard, QueryScript, QueryScriptLibrary, Record, RecordDataEditorView, RecordExcludeEdit, RecordMoveEdit, Records, RemoteProject, RemoveGroupEdit, RemoveParticipantEdit, RemoveTierEdit, ReportTableExportDialog, ReportTreeToHTMLDialog, ReportWizard, ReportWizard, ResultSetEditor, Sandhi, ScTypeEdit, Session, SessionCheckView, SessionCheckWizard, SessionDateEdit, SessionEditor, SessionEditorSelection, SessionEditorUndoableEdit, SessionFactory, SessionInfoEditorView, SessionLanguageEdit, SessionMetadata, SessionPath, SessionToHTMLWizard, SessionValidator, ShadowProject, SimpleEditor, SimpleEditorPanel, SpeechAnalysisEditorView, SplitGroupEdit, StressMarker, SyllabificationAlignmentEditorView, SyllabifierLibrary, SyllabifyEdit, SyllableBoundary, Tier, TierDescription, TierDescriptions, TierEdit, TierNameEdit, TierOrderingEditorView, TierString, TierViewEdit, TierViewItem, TierViewItemEdit, TimelineView, ToggleDiphthongEdit, Transcriber, Transcribers, ValidationEditorView, ValidationEvent, WelcomeWindow, WizardFrame, WizardStep, Word, WordBoundary

public interface IExtendable
Adds the ability to add/remove capabilites to an object that implements the ICapable interface.
  • Method Details

    • getExtensions

      Set<Class<?>> getExtensions()
      Return all extension types supported
    • getExtension

      <T> T getExtension(Class<T> cap)
      Get the requested extension if available.
      Parameters:
      class - of the requested capability
      Returns:
      the capability object or null if the cability is not available
    • putExtension

      <T> T putExtension(Class<T> cap, T impl)
      Add a new extension.
      Parameters:
      cap - the extension to add
      Returns:
      the added extension implementation
    • removeExtension

      <T> T removeExtension(Class<T> cap)
      Remove a capability.
      Parameters:
      cap - the capability to remove