bibliothek.gui.dock.common.intern
Class AbstractCStation

java.lang.Object
  extended by bibliothek.gui.dock.common.intern.AbstractCStation
All Implemented Interfaces:
CStation

public abstract class AbstractCStation
extends Object
implements CStation

A simple implementation of CStation. This class adds a install(CControlAccess) and uninstall(CControlAccess) method, subclasses to not have to track or store the CControlAccess that is given in setControl(CControlAccess).

Author:
Benjamin Sigg

Constructor Summary
AbstractCStation(DockStation station, String id, CLocation location)
          Creates a new station.
 
Method Summary
 CDockable asDockable()
          If this station is a CDockable as well, then this method returns the representation of this station as CDockable.
protected  CControlAccess getControl()
          Gets the currently used CControlAccess.
 DockStation getStation()
          Gets the internal representation of this CStation.
 CLocation getStationLocation()
          Gets a location which represents directly CStation.getStation().
 String getUniqueId()
          Gets a unique and constant identifier for this station
protected abstract  void install(CControlAccess access)
          Called when this station is added to a CControl.
 boolean isWorkingArea()
          Tells whether this station is a special working area or not.
 void setControl(CControlAccess access)
          Called by CControl when this CStation is added or removed.
protected abstract  void uninstall(CControlAccess access)
          Called when this station is removed from a CControl.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractCStation

public AbstractCStation(DockStation station,
                        String id,
                        CLocation location)
Creates a new station.

Parameters:
station - the internal representation of this station
id - the unique id of this station
location - a location that points directly to this station
Method Detail

getStationLocation

public CLocation getStationLocation()
Description copied from interface: CStation
Gets a location which represents directly CStation.getStation().

Specified by:
getStationLocation in interface CStation
Returns:
the location that will always represent the station

getUniqueId

public String getUniqueId()
Description copied from interface: CStation
Gets a unique and constant identifier for this station

Specified by:
getUniqueId in interface CStation
Returns:
the unique identifier

getStation

public DockStation getStation()
Description copied from interface: CStation
Gets the internal representation of this CStation.

Specified by:
getStation in interface CStation
Returns:
the interal representation

setControl

public void setControl(CControlAccess access)
Description copied from interface: CStation
Called by CControl when this CStation is added or removed. There are two actions which most stations might want to do:

Specified by:
setControl in interface CStation
Parameters:
access - access to the internals of the CControl that uses this station or null to remove all ties from a control

getControl

protected CControlAccess getControl()
Gets the currently used CControlAccess.

Returns:
access to the current CControl, can be null

isWorkingArea

public boolean isWorkingArea()
Description copied from interface: CStation
Tells whether this station is a special working area or not. It is not possible drag a child from a working area if it is registered there, or to drop a child onto a working area if it is not registered there.

Specified by:
isWorkingArea in interface CStation
Returns:
true if this is a working area, false otherwise

asDockable

public CDockable asDockable()
Description copied from interface: CStation
If this station is a CDockable as well, then this method returns the representation of this station as CDockable.

Specified by:
asDockable in interface CStation
Returns:
this as dockable or null

install

protected abstract void install(CControlAccess access)
Called when this station is added to a CControl.

Parameters:
access - access to the internals of the new owner

uninstall

protected abstract void uninstall(CControlAccess access)
Called when this station is removed from a CControl.

Parameters:
access - access to the internals of the old owner