Interface IExtendable

All Known Subinterfaces:
OrthographyAnnotation, OrthographyElement, PhonScript, Project
All Known Implementing Classes:
AboutPanel, AbstractOrthographyElement, AbstractProject, AbstractWordElement, Action, AddParticipantEdit, AddRecordEdit, AddTierEdit, AddTimelineTierEdit, AddTimelineTierIntervalEdit, AddTranscriptElementEdit, AlignmentMarker, AnalysisWizard, AnnotatedOrthographyElement, AnonymizeParticipantInfoWizard, AudioFileLongSound, BasicScript, BreadcrumbWizardFrame, BufferPanel, BufferWindow, CaDelimiter, CaElement, ChangeCommentEdit, ChangeCommentTypeEdit, ChangeGemEdit, ChangeGemTypeEdit, ChangeSpeakerEdit, CheckWizard, CheckWizardStep1, ColorPaletteWindow, Comment, CommonModuleFrame, CompoundPhone, CompoundWord, CompoundWordMarker, CompoundWordMarker, Contraction, CorpusTemplateEditor, CSVExportWizard, CSVImportWizard, DeleteRecordEdit, DeleteTranscriptElementEdit, DeriveSessionWizard, DesktopProject, DetectorResult, Diacritic, DividedEditorView, Duration, EditorView, EditSessionMetadata, Error, Event, ExportWizard, ExtendableObject, ExtensionSupport, Freecode, Gem, GitCommitWizard, GitProgressBuffer, GraspTierData, GroupAnnotation, Happening, HarmonyDetectorResult, ImportWizard, InternalMedia, IntervalTier, IntervalTiers, IntonationGroup, IntraWordPause, IPADictionary, IPADictionaryLibrary, IPADictionaryView, IPAElement, IPALookupEdit, IpaMapFrame, IPATranscript, Italic, ITRWizard, LazyQueryScript, Linker, Linker, LocalProject, LogViewer, LongFeature, LongSound, Marker, MediaLocationEdit, MediaPlayerEditorView, MediaSegment, MergeSessionStep1, MergeSessionStep2, MetathesisDetectorResult, MorElement, MorTerminator, MorTierData, MorWord, MorWordCompound, MoveRecordEdit, MoveTierEdit, MoveTimelineTierIntervalEdit, MoveTranscriptElementEdit, NodeWizard, Nonvocal, OpgraphEditor, Orthography, OrthographyBuilder, OrthoGroup, OtherSpokenEvent, Overlap, OverlapPoint, Participant, Participants, ParticipantsView, ParticipantUndoableEdit, Pause, Pause, Phone, PhoneMap, PhoneticGroup, PhoneticGroupMarker, PhonexMatcherReference, Postcode, ProjectFrame, ProjectParticpantsWindow, ProjectTreeWindow, ProjectWindow, Prosody, QueryAndReportWizard, QueryScript, QueryScriptLibrary, Quotation, Record, Records, RecordSegmentEdit, RemoveParticipantEdit, RemoveTierEdit, RemoveTimelineTierEdit, RemoveTimelineTierIntervalEdit, Replacement, ReportTableExportDialog, ReportTreeToHTMLDialog, ReportWizard, ReportWizard, ResultSetEditor, Sandhi, ScTypeEdit, SearchView, Separator, Session, SessionCheckView, SessionCheckWizard, SessionDateEdit, SessionEditor, SessionEditorSelection, SessionEditorWindow, SessionFactory, SessionLanguageEdit, SessionPath, SessionToHTMLWizard, SessionUndoableEdit, SessionValidator, ShadowProject, Shortening, SimpleEditor, SimpleEditorPanel, SpeechAnalysisEditorView, StressMarker, SyllabificationAlignmentEditorView, SyllabifierLibrary, SyllabifyEdit, SyllableBoundary, TagMarker, Terminator, Tier, TierBlindEdit, TierComment, TierData, TierDescription, TierDescriptions, TierEdit, TierInternalMedia, TierManagementView, TierNameEdit, TierString, TierViewEdit, TierViewItem, TierViewItemEdit, TimelineView, ToggleDiphthongEdit, ToggleTierAlignedEdit, ToneMarker, Transcriber, Transcribers, Transcript, TranscriptDocument, TranscriptEditor, TranscriptView, Underline, UnifiedProjectWindow, UtteranceLanguage, ValidationEvent, WelcomeWindow, WizardFrame, WizardStep, Word, WordBoundary, WordText

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