bibliothek.gui.dock.station
Interface Combiner

All Known Implementing Classes:
BasicCombiner, SplitCombiner, StationCombinerValue, ThemeCombiner

public interface Combiner

A Combiner merges two Dockables into one Dockable. How this is done, is up to the Combiner, but most Combiners will create a new DockStation and put the Dockables onto this new station.


Method Summary
 Dockable combine(CombinerSource source, CombinerTarget target)
          Merges two Dockables into a new Dockable.
 CombinerTarget prepare(CombinerSource source, boolean force)
          Prepares information telling how two Dockables may be combined.
 

Method Detail

prepare

CombinerTarget prepare(CombinerSource source,
                       boolean force)
Prepares information telling how two Dockables may be combined.

Parameters:
source - the Dockable which may be combined, their parent station and other helpful information.
force - if true then a combination must happen, otherwise the result may be null indicating that a combination is not desired by this Combiner.
Returns:
How to combine the Dockables, may be null to indicate that a combination is not desired

combine

Dockable combine(CombinerSource source,
                 CombinerTarget target)
Merges two Dockables into a new Dockable. This method may set the DockController of the created element in order to initialize it more efficiently.

Parameters:
source - information about the two Dockables that are going to be merged, not null. This object may or may not have been created by this Combiner, some sanity checks are advised before using it
target - information that was created by prepare(CombinerSource, boolean) using source, not null
Returns:
the combined Dockable, not null