de.jsystems.framework.common.saver
Class SerializedSaver

java.lang.Object
  extended byde.jsystems.framework.common.saver.SerializedSaver
All Implemented Interfaces:
Saver

public class SerializedSaver
extends Object
implements Saver

Mit diesem Saver werden alle Items eines ueber die Methode setModel(IBusinessModelSave) gesetzten Models in serialisierter Form gespeichert. Dabei muss hier dann lediglich darauf geachtet werden, dasalle Attribute der zu speichernden Items selbst auch Serialisierbar sind. Ein Item an sich ist immer serialisierbar. Beim laden einer Serialisierten Datei ist darauf zu achten, das das richtige Item-Objekt fuer die serialisierten Daten zur Verfuegung steht. Hier ist vor allem die Verson der Klasse zu beachten. Fuer weitere Informationen zur Serialisierung wird hier auf die Java-Spezifikation verwiesen.

Version:
1.0
Copyright by Jens Homm 2001 - 2003
Author:
Jens Homm JSYSTEMS
See Also:
ObjectInputStream, ObjectOutputStream

Field Summary
protected  File file
           
protected  String filename
           
protected  IBusinessModelSave model
           
protected  String pathname
           
 
Constructor Summary
SerializedSaver()
          Erzeugt einen neuen SerializedSaver.
SerializedSaver(File file)
          Erzeugt einen neuen FileSaver, der alle Daten eines gesetzten Models in der uebergebenen Datei speichert bzw. aus dieser laedt.
SerializedSaver(String filename, String pathname)
          Erzeugt einen neuen FileSaver, der alle Daten eines gesetzten Models in der uebergebenen Datei speichert bzw. aus dieser laedt.
 
Method Summary
 void load()
          Fuellt das durch die Methode setModel(IBusinessModelSave) gesetzte Model mit den Daten aus der ueber die Methode setFile(File) oder setFileName(String) gesetzten Datei.
 void save()
          Speichert alle Items des ueber die Methode setModel(IBusinessModelSave) gesetzten Models.
 void setFile(File file)
          Setzt das File-Objekt, in dem die Daten gespeichert werden sollen.
 void setFileName(String filename)
          Setzt den Namen der Datei, in die gespeichert bzw. aus der gelesen werden soll.
 void setModel(IBusinessModelSave model)
          Setzt das Model mit dem der Saver arbeiten soll.
 void setPathName(String pathname)
          Setzt den Pfad der Datei, in die gespeichert bzw. aus der gelesen werden soll.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

file

protected File file

filename

protected String filename

pathname

protected String pathname

model

protected IBusinessModelSave model
Constructor Detail

SerializedSaver

public SerializedSaver()
Erzeugt einen neuen SerializedSaver. Hier darf die Methode save() nicht aufgerufen werden, bevor eine Datei gesetzt wurde.

See Also:
setFile(File), setFileName(String), setPathName(String)

SerializedSaver

public SerializedSaver(File file)
Erzeugt einen neuen FileSaver, der alle Daten eines gesetzten Models in der uebergebenen Datei speichert bzw. aus dieser laedt. Als File darf nicht NULL uebergeben werden.

Parameters:
file - Die Datei in der gespeichert bzw. aus der gelesen werden soll.

SerializedSaver

public SerializedSaver(String filename,
                       String pathname)
Erzeugt einen neuen FileSaver, der alle Daten eines gesetzten Models in der uebergebenen Datei speichert bzw. aus dieser laedt. Der Parameter 'filename' darf weder NULL noch leer sein.

Parameters:
filename - Der Name der Datei ohne Pfadangabe.
pathname - Der Pfad zur Datei.
Method Detail

save

public void save()
          throws IOException
Speichert alle Items des ueber die Methode setModel(IBusinessModelSave) gesetzten Models. Solange kein Model gesetzt ist passiert hier nichts. Wenn beim speichern ein Fehler auftritt wird eine IOException ausgeloest. Wenn beim Aufruf dieser Methoe das intern gehaltene File-Objekt NULL ist, so wird es mit dem angegebenen Filenamen und der Pfadangabe erzeugt.

Specified by:
save in interface Saver
Throws:
IOException - wenn beim speichern ein Fehler auftritt.

load

public void load()
          throws IOException
Fuellt das durch die Methode setModel(IBusinessModelSave) gesetzte Model mit den Daten aus der ueber die Methode setFile(File) oder setFileName(String) gesetzten Datei. Solange kein Model gesetzt wurde passiert hier nichts. Wenn beim laden der Datei ein Fehler auftritt wird eine IOException ausgeloest. Wenn beim Aufruf dieser Methoe das intern gehaltene File-Objekt NULL ist, so wird es mit dem angegebenen Filenamen und der Pfadangabe erzeugt.

Specified by:
load in interface Saver
Throws:
IOException - wenn beim laden ein Fehler auftritt.

setFile

public void setFile(File file)
Setzt das File-Objekt, in dem die Daten gespeichert werden sollen. Der Parameter darf nicht NULL sein. Sobald ueber diese Methode ein File-Objekt gesetzt wurde sind der durch die Methoden setFileName(String) und setPathName(String) gesetzte Dateinamen bzw. Dateipfad ohne belang.

Specified by:
setFile in interface Saver
Parameters:
file - Das File-Objekt in das geschrieben bzw. aus dem gelesen werden soll.

setFileName

public void setFileName(String filename)
Setzt den Namen der Datei, in die gespeichert bzw. aus der gelesen werden soll. Dabei darf der Name keine Pfadbestandteile enthalten, da es sonst zu Problemen beim erzeugen der Datei kommen kann. Der Parameter darf weder NULL noch leer sein. Wenn diese Methode aufgerufen wird, wird das intern gehaltene File-Objekt und die intern gehaltene Pfadangabe geloescht. Falls der uebergebene Filename und der Name des gespeicherten File-Objektes uebereinstimmern, wird hier nichts geloescht, da sich nichts geaendert hat.

Specified by:
setFileName in interface Saver
Parameters:
filename - Der Name der Datei in die geschrieben bzw. aus der gelesen werden soll.

setPathName

public void setPathName(String pathname)
Setzt den Pfad der Datei, in die gespeichert bzw. aus der gelesen werden soll. Wenn diese Methode aufgerufen wird, wird das intern gehaltene File-Objekt geloescht. Der Dateiname selbst bleibt bestehen. Falls der Pfad dem Pfad entspricht, der auch schon im File-Objekt gespeichert ist, passiert hier nichts weiter. Es wird dann auch nichts geloescht.

Specified by:
setPathName in interface Saver
Parameters:
pathname - Der Pfad zu der Datei in die geschrieben bzw. aus der gelesen werden soll.

setModel

public void setModel(IBusinessModelSave model)
Setzt das Model mit dem der Saver arbeiten soll. Solange dieses Model nicht gesetzt ist haben die Methoden load() und save() keine Funktion.

Specified by:
setModel in interface Saver
Parameters:
model - Das Model aus dem die Daten zum speichern kommen, bzw. das beim laden gefuellt werden soll.