bibliothek.gui.dock
Class DefaultDockableFactory

java.lang.Object
  extended by bibliothek.gui.dock.DefaultDockableFactory
All Implemented Interfaces:
DockFactory<DefaultDockable>

public class DefaultDockableFactory
extends Object
implements DockFactory<DefaultDockable>

A factory which can read and write the properties of a DefaultDockable. Note that this factory does not store any information about the components added to the content pane of the DefaultDockable.

Author:
Benjamin Sigg

Field Summary
static String ID
          The unique id of this factory
 
Constructor Summary
DefaultDockableFactory()
           
 
Method Summary
 String getID()
          Gets the unique name of this factory.
 DefaultDockable read(Map<Integer,Dockable> children, boolean ignore, DataInputStream in)
          Reads a DockElement which was earlier stored by a DockFactoy of the same type.
 void read(Map<Integer,Dockable> children, boolean ignore, DefaultDockable preloaded, DataInputStream in)
          Reads a DockElement which was earlier stored by a DockFactory of the same type.
 void write(DefaultDockable element, Map<Dockable,Integer> children, DataOutputStream out)
          Saves the properties of a DockElement.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID

public static final String ID
The unique id of this factory

See Also:
Constant Field Values
Constructor Detail

DefaultDockableFactory

public DefaultDockableFactory()
Method Detail

getID

public String getID()
Description copied from interface: DockFactory
Gets the unique name of this factory.

Specified by:
getID in interface DockFactory<DefaultDockable>
Returns:
the id

write

public void write(DefaultDockable element,
                  Map<Dockable,Integer> children,
                  DataOutputStream out)
           throws IOException
Description copied from interface: DockFactory
Saves the properties of a DockElement. If the element is a DockStation, then the factory has to store the location of the children. The factory can use the unique ids of the children which are stored in the map children. The factory don't have to store any information about the children itself.
If element is a Dockable, no information about the parent has to be stored.

Specified by:
write in interface DockFactory<DefaultDockable>
Parameters:
element - the element to save
children - a list of unique names for each child of element, may be null if element is not a DockStation.
out - a stream to write information
Throws:
IOException - if the element can't be saved

read

public DefaultDockable read(Map<Integer,Dockable> children,
                            boolean ignore,
                            DataInputStream in)
                     throws IOException
Description copied from interface: DockFactory
Reads a DockElement which was earlier stored by a DockFactoy of the same type.

Specified by:
read in interface DockFactory<DefaultDockable>
Parameters:
children - the known children of the element that is read. It's possible that not all children that were stored last time could be read again. In this case the map will contain no or a null entry.
ignore - true if the layout of the current children should not be changed. The map children is empty if ignoreChildren is true.
in - the stream to read from. The number of bytes read don't have to be the same number as the bytes that were written.
Returns:
the element that was read, null is a valid result and indicates that an element is no longer available.
Throws:
IOException - if the element can't be read from the stream

read

public void read(Map<Integer,Dockable> children,
                 boolean ignore,
                 DefaultDockable preloaded,
                 DataInputStream in)
          throws IOException
Description copied from interface: DockFactory
Reads a DockElement which was earlier stored by a DockFactory of the same type. The contents have to be written into an already existing element.

Specified by:
read in interface DockFactory<DefaultDockable>
Parameters:
children - the known children of the element that is read. It's possible that not all children that were stored last time could be read again. In this case the map will contain no or a null entry.
ignore - true if the layout of the current children should not be changed. The map children is empty if ignoreChildren is true.
preloaded - an element which was created elsewhere and now has to be set up correctly by this factory
in - the stream to read from. The number of bytes read don't have to be the same number as the bytes that were written.
Throws:
IOException - if the element can't be read from the stream