bibliothek.gui.dock.title
Class DockTitleVersion

java.lang.Object
  extended by bibliothek.gui.dock.title.DockTitleVersion

public class DockTitleVersion
extends Object

A DockTitleVersion is a hint which DockTitleFactory has to be used to create one or more DockTitle for some Dockables.
DockTitleVersions are created and registered by a DockTitleManager.
Every version consists of three slots for factories, each with different priority. If a new title is required, the factory with the highest priority will be used.

Author:
Benjamin Sigg

Constructor Summary
DockTitleVersion(DockController controller, String id)
          Creates a new version.
 
Method Summary
 DockTitle createDockable(Dockable dockable)
          Creates a title for dockable.
<D extends Dockable & DockStation>
DockTitle
createStation(D dock)
          Creates a title for dock.
 boolean equals(Object obj)
           
 DockController getController()
          Gets the controller for which the titles are created.
 DockTitleFactory getFactory()
          Gets the factory with the highest priority
 DockTitleFactory getFactory(Priority priority)
          Gets the factory with the given priority.
 String getID()
          Gets the name of this version.
 int hashCode()
           
 boolean isSet(Priority priority)
          Tells whether there is a factory with the importance priority, or not.
 void setFactory(DockTitleFactory factory, Priority priority)
          Stores factory at the slot priority.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DockTitleVersion

public DockTitleVersion(DockController controller,
                        String id)
Creates a new version.

Parameters:
controller - the controller for which titles will be created
id - the unique name of this version
Method Detail

getFactory

public DockTitleFactory getFactory()
Gets the factory with the highest priority

Returns:
the factory or null if there is no factory registered.

setFactory

public void setFactory(DockTitleFactory factory,
                       Priority priority)
Stores factory at the slot priority.

Parameters:
factory - the factory
priority - the importance of the factory

getFactory

public DockTitleFactory getFactory(Priority priority)
Gets the factory with the given priority.

Parameters:
priority - the priority
Returns:
the factory or null

isSet

public boolean isSet(Priority priority)
Tells whether there is a factory with the importance priority, or not.

Parameters:
priority - the searched priority
Returns:
true if there is a factory

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

getID

public String getID()
Gets the name of this version. The name is set when this version is created. It should be unique; it is unique if all versions are created through the same DockTitleManager.

Returns:
the name

createDockable

public DockTitle createDockable(Dockable dockable)
Creates a title for dockable. The factory with the highest priority is used for this job.

Parameters:
dockable - the Dockable which needs a title
Returns:
the title, might be null

createStation

public <D extends Dockable & DockStation> DockTitle createStation(D dock)
Creates a title for dock. The factory with the highest priority is used for this job.

Type Parameters:
D - a class which is Dockable and DockStation
Parameters:
dock - the dockable station
Returns:
the title, might be null

getController

public DockController getController()
Gets the controller for which the titles are created.

Returns:
the owner of this version