bibliothek.gui.dock
Class PredefinedDockSituation.PreloadFactory

java.lang.Object
  extended by bibliothek.gui.dock.PredefinedDockSituation.PreloadFactory
All Implemented Interfaces:
DockFactory<DockElement>
Enclosing class:
PredefinedDockSituation

private class PredefinedDockSituation.PreloadFactory
extends java.lang.Object
implements DockFactory<DockElement>

A factory which uses other factories as delegate. This factory does not always use the delegates, sometimes it does just read an element which was predefined in PredefinedDockSituation.

Author:
Benjamin Sigg

Constructor Summary
private PredefinedDockSituation.PreloadFactory()
           
 
Method Summary
 java.lang.String getID()
          Gets the unique name of this factory.
 DockElement read(java.util.Map<java.lang.Integer,Dockable> children, boolean ignore, java.io.DataInputStream in)
          Reads a DockElement which was earlier stored by a DockFactoy of the same type.
 void read(java.util.Map<java.lang.Integer,Dockable> children, boolean ignore, DockElement preloaded, java.io.DataInputStream in)
          Reads a DockElement which was earlier stored by a DockFactory of the same type.
 void write(DockElement element, java.util.Map<Dockable,java.lang.Integer> children, java.io.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
 

Constructor Detail

PredefinedDockSituation.PreloadFactory

private PredefinedDockSituation.PreloadFactory()
Method Detail

getID

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

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

read

public DockElement read(java.util.Map<java.lang.Integer,Dockable> children,
                        boolean ignore,
                        java.io.DataInputStream in)
                 throws java.io.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<DockElement>
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:
java.io.IOException - if the element can't be read from the stream

read

public void read(java.util.Map<java.lang.Integer,Dockable> children,
                 boolean ignore,
                 DockElement preloaded,
                 java.io.DataInputStream in)
          throws java.io.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<DockElement>
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:
java.io.IOException - if the element can't be read from the stream

write

public void write(DockElement element,
                  java.util.Map<Dockable,java.lang.Integer> children,
                  java.io.DataOutputStream out)
           throws java.io.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<DockElement>
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:
java.io.IOException - if the element can't be saved