de.jsystems.framework.common.saver
Class FileSaver

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

public class FileSaver
extends Object
implements Saver

Speichert alle Items des durch die Methode setModel(IBusinessModelSave) gesetzten Models. Dabei hat die Datei das Format einer INI-Datei, wobei jedes Item eine eigene Sektion darstelt. Der Name der Sektion ist dabei die ID des Items. Danach folgen alle Attribute mit ihrem Wert und ihrer Eigenschaft. Hierbei ist zu beachten, dass ein auf diese Art gespeichertes Item nur Attribute vom Typ String oder Date oder einem der primitiven Datentypen bzw. deren Wrapperklassen enthaelt. Bei allen anderen Typen wuerde es zu Problemen kommen, diese als Klartextstring abzulegen. Items die hierueber gespeichert werden muessen einen Konstruktor mit einem String-Parameter besitzen, da es sonst zu Fehlern kommt beim laden des Models aus der angelegten Datei. Hier ist zu beachten, das Models mit sehr grossen Datenmengen oder sehr grossen Items zu einem Speicherproblem fuehren koennen.

Version:
1.0
Copyright by Jens Homm 2001 - 2003
Author:
Jens Homm JSYSTEMS

Field Summary
protected  File file
           
protected  String filename
           
protected  IBusinessModelSave model
           
protected  String pathname
           
 
Constructor Summary
FileSaver(File file)
          Erzeugt einen neuen FileSaver, der alle Daten eines gesetzten Models in der uebergebenen Datei speichert bzw. aus dieser laedt.
FileSaver(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

FileSaver

public FileSaver(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.

FileSaver

public FileSaver(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. 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.

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.

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.