Package org.flexdock.docking
Interface DockableFactory
- All Known Implementing Classes:
DockableFactory.Stub
public interface DockableFactory
This interface is designed to provide an API for allowing the
DockingManager
to obtain Dockable
instances on the fly. It
has a single method, getDockableComponent(String dockableId)
,
responsible for returning Component
instances, possibly creating and
registering Dockables
in the process.
Implementations of this interface will be application-specific and may be
plugged into the DockingManager
via the call
DockingManager.setDockableFactory(myFactory)
. Throughout the
framework, FlexDock makes many calls to
DockingManager.getDockable(String id)
under the assumption that at
some point, the requested Dockable
instance has been registered via
DockingManager.registerDockable(Dockable dockable)
.
In the event that a Dockable
with the specified ID has never been
formally registered, the DockingManager
will check for a factory via
DockingManager.getDockableFactory()
. If a factory is present, its
getDockableComponent()
method is invoked. If a valid
Component
is returned from getDockableComponent()
, the
DockingManager will attempt to register it as a Dockable
and return
the Dockable
.
DockableFactory
implementations are especially useful for
applications with persisted layouts where the Dockables
required
during a layout restoration may be constructed automatically on demand by the
framework.- Author:
- Christopher Butler
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
An empty implementation ofDockableFactory
. -
Method Summary
Modifier and TypeMethodDescriptiongetDockable
(String dockableId) Returns aDockable
for the specified Dockable ID, possibly creating and registering it in the process.getDockableComponent
(String dockableId) Returns aComponent
for the specified Dockable ID, possibly creating and registering aDockable
in the process.
-
Method Details
-
getDockableComponent
Returns aComponent
for the specified Dockable ID, possibly creating and registering aDockable
in the process.- Parameters:
dockableId
- the ID for the requested dockableComponent
- Returns:
- the
Component
for the specified ID
-
getDockable
Returns aDockable
for the specified Dockable ID, possibly creating and registering it in the process.- Parameters:
dockableId
- the ID for the requestedDockable
- Returns:
- the
Dockable
for the specified ID
-