net.sf.trauma
Class Sylk

java.lang.Object
  extended by net.sf.trauma.Sylk

public class Sylk
extends java.lang.Object

Klasse Sylk - Diese Klasse repräsentiert eine Tabelle im Sylk-Format und bietet Im- und Exportmöglichkeiten.
Lizensierungsart: GNU LGPL (darf in kommerziellen Projekten unverändert genutzt werden).

Version:
2005.06.23
Author:
Manuel Haim

Field Summary
private  int currentX
           
private  int currentY
           
private  boolean endOfFile
           
private  boolean initLinesDone
           
private  int maxX
           
private  int maxY
           
private  java.lang.String[][] sylkTable
           
 
Constructor Summary
Sylk()
          Leere Sylk-Tabelle zum manuellen Befüllen erzeugen:
Schritt 1: Nacheinander preProcessLine() mit allen Zeilen aufrufen.
Schritt 2: Nacheinander processLine() mit allen Zeilen aufrufen.
Sylk(int x, int y)
          Leere Sylk-Tabelle erzeugen, die mit processLine() oder setCell() befüllt werden kann.
Sylk(java.lang.String fileName)
          Sylk-Tabelle aus Datei erzeugen.
 
Method Summary
 java.lang.String getCell(int x, int y)
          Gibt den Inhalt einer Tabellen-Zelle zurück.
 int getMaxX()
          Abfrage von maxX.
 int getMaxY()
          Abfrage von maxY.
 java.lang.String[][] getTable()
          Abfrage der gesamten Tabelle als zweidimensionales String-Array.
 java.lang.String[] getTableRow(int y)
          Abfrage einer Tabellenzeile als String-Array.
private  void initLines()
          Initialisieren der Sylk-Tabelle nach dem Bestimmen von maxX und maxY.
private static boolean isParseableAsNumber(java.lang.String exp)
           
 void preProcessLine(java.lang.String sylkLine)
          Liest eine Zeile und passt ggf.
 void printTable()
          Gibt die Tabelle vereinfacht auf der Konsole aus.
 void processLine(java.lang.String sylkLine)
          Einlesen der Daten in die vorbereitete Tabelle.
 void saveAsFile(java.lang.String fileName)
          Speichern der Tabelle als Datei.
 void saveAsFileTcom(java.lang.String fileName)
          Deprecated. Erstellt unsaubere/unübersichtliche SYLK-Datei.
 void setCell(int x, int y, java.lang.String cellString)
          Setzt den Inhalt einer Tabellen-Zelle.
 void setTable(java.lang.String[][] table)
          Setzen der gesamten Tabelle durch Übergabe eines zweidimensionalen String-Arrays.
 void setTableRow(int y, java.lang.String[] tableRow)
          Setzen einer Tabellenzeile durch Übergabe eines String-Arrays.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

maxX

private int maxX

maxY

private int maxY

currentX

private int currentX

currentY

private int currentY

endOfFile

private boolean endOfFile

initLinesDone

private boolean initLinesDone

sylkTable

private java.lang.String[][] sylkTable
Constructor Detail

Sylk

public Sylk()
Leere Sylk-Tabelle zum manuellen Befüllen erzeugen:
Schritt 1: Nacheinander preProcessLine() mit allen Zeilen aufrufen.
Schritt 2: Nacheinander processLine() mit allen Zeilen aufrufen.


Sylk

public Sylk(int x,
            int y)
Leere Sylk-Tabelle erzeugen, die mit processLine() oder setCell() befüllt werden kann.

Parameters:
x - Anzahl Spalten.
y - Anzahl Zeilen.

Sylk

public Sylk(java.lang.String fileName)
     throws java.io.FileNotFoundException,
            java.io.IOException
Sylk-Tabelle aus Datei erzeugen.

Parameters:
fileName - Pfad zur Datei, die eingelesen werden soll.
Throws:
java.io.FileNotFoundException
java.io.IOException
Method Detail

preProcessLine

public void preProcessLine(java.lang.String sylkLine)
Liest eine Zeile und passt ggf. die Maximalwerte für X- und Y-Koordinate an. Muss nacheinander auf alle Zeilen angewendet werden.

Parameters:
sylkLine - Auszuwertende Zeile.

initLines

private void initLines()
Initialisieren der Sylk-Tabelle nach dem Bestimmen von maxX und maxY.


processLine

public void processLine(java.lang.String sylkLine)
Einlesen der Daten in die vorbereitete Tabelle. Wird nacheinander auf alle Zeilen angewendet.

Parameters:
sylkLine - Auszuwertende Zeile.

printTable

public void printTable()
Gibt die Tabelle vereinfacht auf der Konsole aus.


saveAsFileTcom

public void saveAsFileTcom(java.lang.String fileName)
                    throws java.io.FileNotFoundException
Deprecated. Erstellt unsaubere/unübersichtliche SYLK-Datei.

Speichern der Tabelle als Datei. Telekom-Stil ("F" als RecordTypeDescriptor).

Parameters:
fileName - Dateiname.
Throws:
java.io.FileNotFoundException

saveAsFile

public void saveAsFile(java.lang.String fileName)
                throws java.io.FileNotFoundException
Speichern der Tabelle als Datei. OpenOffice-Stil ("C" als RecordTypeDescriptor).

Parameters:
fileName - Dateiname.
Throws:
java.io.FileNotFoundException

isParseableAsNumber

private static boolean isParseableAsNumber(java.lang.String exp)

getCell

public java.lang.String getCell(int x,
                                int y)
Gibt den Inhalt einer Tabellen-Zelle zurück.

Parameters:
x - X-Koordinate (nullbasiert).
y - Y-Koordinate (nullbasiert).
Returns:
Zellinhalt.

setCell

public void setCell(int x,
                    int y,
                    java.lang.String cellString)
Setzt den Inhalt einer Tabellen-Zelle.

Parameters:
x - X-Koordinate (nullbasiert).
y - Y-Koordinate (nullbasiert).
cellString - Zellinhalt.

getMaxX

public int getMaxX()
Abfrage von maxX.

Returns:
Anzahl Spalten.

getMaxY

public int getMaxY()
Abfrage von maxY.

Returns:
Anzahl Zeilen.

getTableRow

public java.lang.String[] getTableRow(int y)
Abfrage einer Tabellenzeile als String-Array.

Parameters:
y - Zeile.
Returns:
Tabellenzeile.

setTableRow

public void setTableRow(int y,
                        java.lang.String[] tableRow)
Setzen einer Tabellenzeile durch Übergabe eines String-Arrays.

Parameters:
y - Zeile.
tableRow - Tabellenzeile.

getTable

public java.lang.String[][] getTable()
Abfrage der gesamten Tabelle als zweidimensionales String-Array.

Returns:
Gesamte Tabelle.

setTable

public void setTable(java.lang.String[][] table)
Setzen der gesamten Tabelle durch Übergabe eines zweidimensionalen String-Arrays.

Parameters:
table - Gesamte Tabelle.