Interface ExtendedModeEnablement
- All Known Implementing Classes:
AbstractExtendedModeEnablement,DefaultExtendedModeEnablement
public interface ExtendedModeEnablement
Generic algorithm telling for
Dockables whether some ExtendedMode is
available or not.- Author:
- Benjamin Sigg
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumA measurement of how available a certain mode is.static enumA measurement of how hidden a certain mode is. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(ExtendedModeEnablementListener listener) Adds a listener to this enablement, the listener has be informed if the availability state of a mode in respect to a dockable has changed.voiddestroy()Informs this enablement that it is no longer of any use.isAvailable(Dockable dockable, ExtendedMode mode) Tells whethermodeis available fordockable.
Note: forExtendedMode.NORMALIZEDthe result should always betrue.isHidden(Dockable dockable, ExtendedMode mode) Tells whethermodeis hidden from the user fordockable.voidremoveListener(ExtendedModeEnablementListener listener) Removes a listener from this enablement.
-
Method Details
-
isAvailable
Tells whethermodeis available fordockable.
Note: forExtendedMode.NORMALIZEDthe result should always betrue.- Parameters:
dockable- some element, notnullmode- some mode, notnull- Returns:
- whether the mode is available, most strategies should return
ExtendedModeEnablement.Availability.WEAK_AVAILABLEifmodeequalsExtendedMode.NORMALIZED. Must never benull, but a result ofExtendedModeEnablement.Availability.UNCERTAINindicates that this enablement does not know
-
isHidden
Tells whethermodeis hidden from the user fordockable. If a mode is hidden it can still be available, the user will just not be informed (e.g. there is no button that will move the dockable).- Parameters:
dockable- some element, notnullmode- some mode, notnull- Returns:
- whether
modeis hidden from the user when looking atdockable
-
addListener
Adds a listener to this enablement, the listener has be informed if the availability state of a mode in respect to a dockable has changed. OnlyDockables that are registered at theLocationModeManagerhave to be observed.- Parameters:
listener- the new listener
-
removeListener
Removes a listener from this enablement.- Parameters:
listener- the listener to remove
-
destroy
void destroy()Informs this enablement that it is no longer of any use. The enablement should remove any listeners it added to any other object.
-