bibliothek.gui.dock.layout
Interface DockableProperty

All Known Implementing Classes:
AbstractDockableProperty, FlapDockProperty, ScreenDockProperty, SplitDockFullScreenProperty, SplitDockPathProperty, SplitDockPlaceholderProperty, SplitDockProperty, StackDockProperty

public interface DockableProperty

Describes the location of a Dockable on a DockStation. The properties can be nested, that describes the fact that a DockStation can also be Dockables.
A DockableProperty should not have any reference to its Dockable or its DockStation.

Author:
Benjamin Sigg

Method Summary
 DockableProperty copy()
          Gets a copy of this property, the successor must be copied as well.
 boolean equalsNoSuccessor(DockableProperty property)
          Tells whether this describes the same position as property, not checking the successor.
 java.lang.String getFactoryID()
          Gets the unique name of the DockablePropertyFactory which can create this type of DockableProperty.
 DockableProperty getSuccessor()
          Gets the property which should be used for the child of this dockable DockStation.
 void load(java.io.DataInputStream in)
          Reads the contents of this DockableProperty from a stream.
 void load(XElement element)
          Reads the contents of this DockableProperty from an xml element.
 void setSuccessor(DockableProperty properties)
          Sets the property which will be used if this property was used and there is not yet a leaf in the tree of DockStations and Dockables reached.
 void store(java.io.DataOutputStream out)
          Stores the contents of this DockableProperty in a stream.
 void store(XElement element)
          Stores the contents of this property as xml element.
 

Method Detail

getSuccessor

DockableProperty getSuccessor()
Gets the property which should be used for the child of this dockable DockStation.

Returns:
the property for the child, or null
See Also:
setSuccessor(DockableProperty)

setSuccessor

void setSuccessor(DockableProperty properties)
Sets the property which will be used if this property was used and there is not yet a leaf in the tree of DockStations and Dockables reached.
For example: there is a DockStation root, a dockable DockStation node which is a child of root and a Dockable leaf which is a child of node.
A DockableProperty called one would describe the relationship between root and node. Another DockableProperty called two would describe the relationship between node and leaf. In this case, the successor of one would be two.

Parameters:
properties - the location of a child

copy

DockableProperty copy()
Gets a copy of this property, the successor must be copied as well.

Returns:
an independent copy of this

getFactoryID

java.lang.String getFactoryID()
Gets the unique name of the DockablePropertyFactory which can create this type of DockableProperty.

Returns:
the id
See Also:
DockablePropertyFactory

equalsNoSuccessor

boolean equalsNoSuccessor(DockableProperty property)
Tells whether this describes the same position as property, not checking the successor.

Parameters:
property - the property to check
Returns:
true if this is the same as property

store

void store(java.io.DataOutputStream out)
           throws java.io.IOException
Stores the contents of this DockableProperty in a stream. The successor (if there is one) must not be saved.

Parameters:
out - the stream to write in
Throws:
java.io.IOException - if anything unexpected happens

store

void store(XElement element)
Stores the contents of this property as xml element.

Parameters:
element - the element into which to write, the attributes of this element should not be changed

load

void load(java.io.DataInputStream in)
          throws java.io.IOException
Reads the contents of this DockableProperty from a stream. The property can assume that a property with the same type has written into the stream.

Parameters:
in - the stream to read
Throws:
java.io.IOException - if anything unexpected happens

load

void load(XElement element)
Reads the contents of this DockableProperty from an xml element.

Parameters:
element - the element that was written earlier by this property