janus.util
Class DateString

java.lang.Object
  extended by janus.util.DateString
All Implemented Interfaces:
Serializable

public class DateString
extends Object
implements Serializable

Klasse zur Darstellung von Datum/Timestamp als Zeichenketten. Es wird die rein numerische und die SQL-Darstellung unterstützt Die einzelnen Subfelder sind zugreifbar, für Berechnungen wird ein java.util.Date-Objekt gespeichert.

See Also:
Serialized Form

Field Summary
protected static SimpleDateFormat defaultFormatter
          Formatierungshilfe (Default)
static TimeZone GMT
          Konstante fuer GMT-Zeitzone
protected  int micros
          Mikrosekunden
protected  int scale
          Anzahl der Nachkommastellen der Sekunden.
protected  int size
          Anzahl der Stellen (Ziffern ohne Trennzeichen)
protected static SimpleDateFormat sqlFormatter
          Formatierungshilfe (SQL-Format)
protected  int sqlSize
          Anzahl der Stellen (Ziffern mit Trennzeichen)
protected  String sqlText
          String im Format "yyyy-MM-dd:HH:mm:ss..."
protected  String text
          String im Format "yyyyMMddHHmmss..."
protected static SimpleDateFormat textFormatter
          Formatierungshilfe (internes Format)
protected  TimeZone timeZone
          Zeitzone
protected  SimpleDateFormat toStringFormatter
          Formatierungshilfe (für toString())
protected  Calendar value
          Wert als Calendar-Object
 
Constructor Summary
DateString()
          Default-Konstruktor.
DateString(byte[] value, int offset, int size)
          Konstruktor mit Byte-Array, Länge und Skalierung.
DateString(byte[] value, int offset, int size, TimeZone tz)
          Konstruktor mit Byte-Array, Länge, Skalierung und Zeitzone.
DateString(Date value)
          Konstruktor mit Date-Objekt.
DateString(Date value, int scale)
          Konstruktor mit Date-Objekt und Scale.
DateString(Date value, int micros, int scale)
          Konstruktor mit Date-Objekt, Mikrosekunden und Scale.
DateString(Date value, int micros, int scale, TimeZone tz)
          Konstruktor mit Date-Objekt, Mikrosekunden, Scale und Zeitzone.
DateString(Date value, int scale, TimeZone tz)
          Konstruktor mit Date-Objekt, Scale und Zeitzone.
DateString(Date value, TimeZone tz)
          Konstruktor mit Date-Objekt und Zeitzone
DateString(long value)
          Konstruktor mit Juliantimestamp.
DateString(long value, TimeZone tz)
          Konstruktor mit Juliantimestamp.
DateString(String value)
          Konstruktor mit String.
DateString(String value, TimeZone tz)
          Konstruktor mit String und Zeitzone.
DateString(TimeZone tz)
          Default-Konstruktor mit Zeitzone.
 
Method Summary
 void dump()
          Debug-Ausgabe des Objekts
 void getBytes(byte[] dest, int offset)
          Gebe den Zahlenstring als Bytes zurück
 int getScale()
          Ermittle die Skalierung
 int getSize()
          Ermittle die Anzahl der Stellen
 void getSqlBytes(byte[] dest, int offset)
          Gebe den SQL-Text als Bytes zurück
 long getSqlSize()
          Ermittle die Anzahl der Stellen des SQL-Textes
 String getSqlText()
          Gebe den SQL-Text zurück
 String getSqlText(int scale)
          Gebe den SQL-Text zurück
 String getText()
          Gebe den Zahlenstring zurück
 TimeZone getTimeZone()
          Ermittle die Zeitzone
 Calendar getValue()
          Ermittle den Wert
protected  void init(Date date, int micros, int scale, TimeZone tz)
          Worker für Konstruktor
protected  void init(String string, TimeZone tz)
          Worker für Konstruktor
static void main(String[] args)
          Test-Hauptprogramm
 void setFormat(String format)
          Setze den Format-String für toString() Beispiel "yyyy-MM-dd:HH:mm:ss"
 void setTimeZone(TimeZone tz)
          Setze die Zeitzone.
 void setValue(byte[] value, int offset)
          Setze den Wert aus einem Byte-Array
 void setValue(byte[] value, int offset, int size)
          Setze den Wert aus einem Zahlen-Byte-Array Die Länge wird übergeben
 void setValue(Date value)
          Setze den Wert aus einem Date-Objekt.
 void setValue(Date value, int micros)
          Setze den Wert aus einem Date-Objekt und Mikrosekunden
 void setValue(String value)
          Setze den Wert aus einem Zahlenstring Wenn der String mit 4 Ziffern und einem "-" beginnt, dann wird ein SQL-Timestamp angenommen Besteht der String nur aus Zahlen, dann hat er das Format von text
 String toString()
          Implementierung von Object.toString()
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

defaultFormatter

protected static SimpleDateFormat defaultFormatter
Formatierungshilfe (Default)


GMT

public static final TimeZone GMT
Konstante fuer GMT-Zeitzone


micros

protected int micros
Mikrosekunden


scale

protected int scale
Anzahl der Nachkommastellen der Sekunden.


size

protected int size
Anzahl der Stellen (Ziffern ohne Trennzeichen)


sqlFormatter

protected static SimpleDateFormat sqlFormatter
Formatierungshilfe (SQL-Format)


sqlSize

protected int sqlSize
Anzahl der Stellen (Ziffern mit Trennzeichen)


sqlText

protected String sqlText
String im Format "yyyy-MM-dd:HH:mm:ss..."


text

protected String text
String im Format "yyyyMMddHHmmss..."


textFormatter

protected static SimpleDateFormat textFormatter
Formatierungshilfe (internes Format)


timeZone

protected TimeZone timeZone
Zeitzone


toStringFormatter

protected SimpleDateFormat toStringFormatter
Formatierungshilfe (für toString())


value

protected Calendar value
Wert als Calendar-Object

Constructor Detail

DateString

public DateString()
Default-Konstruktor. Erzeugt einen Timestamp mit der aktuellen Zeit und Scale 6


DateString

public DateString(byte[] value,
                  int offset,
                  int size)
           throws ParseException,
                  StringIndexOutOfBoundsException
Konstruktor mit Byte-Array, Länge und Skalierung. Der Byte-Array wird als String interpretiert.

Parameters:
value - Byte-Array mit Zahlenstring
offset - Offset innerhalb des Arrays
size - Anzahl der Stellen
Throws:
ParseException - Ungültige Zeichen im Array
StringIndexOutOfBoundsException - Array ist zu kurz

DateString

public DateString(byte[] value,
                  int offset,
                  int size,
                  TimeZone tz)
           throws ParseException,
                  IndexOutOfBoundsException
Konstruktor mit Byte-Array, Länge, Skalierung und Zeitzone. Der Byte-Array wird als String interpretiert.

Parameters:
value - Byte-Array mit Zahlenstring
offset - Offset innerhalb des Arrays
size - Anzahl der Stellen
tz - Zeitzone
Throws:
ParseException - Ungültige Zeichen im Array
IndexOutOfBoundsException - Array ist zu kurz

DateString

public DateString(Date value)
Konstruktor mit Date-Objekt.

Parameters:
value - Datum/Timestamp als Date-Objekt

DateString

public DateString(Date value,
                  int scale)
           throws IllegalArgumentException
Konstruktor mit Date-Objekt und Scale.

Parameters:
value - Datum/Timestamp als Date-Objekt
scale - Nachkommastellen der Sekunden
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(Date value,
                  int micros,
                  int scale)
           throws IllegalArgumentException
Konstruktor mit Date-Objekt, Mikrosekunden und Scale.

Parameters:
value - Datum/Timestamp als Date-Objekt
micros - Mikrosekunden ganze Zahl
scale - Nachkommastellen der Sekunden
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(Date value,
                  int micros,
                  int scale,
                  TimeZone tz)
           throws IllegalArgumentException
Konstruktor mit Date-Objekt, Mikrosekunden, Scale und Zeitzone.

Parameters:
value - Datum/Timestamp als Date-Objekt
micros - Mikrosekunden ganze Zahl
scale - Nachkommastellen der Sekunden
tz - Zeitzone
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(Date value,
                  int scale,
                  TimeZone tz)
           throws IllegalArgumentException
Konstruktor mit Date-Objekt, Scale und Zeitzone.

Parameters:
value - Datum/Timestamp als Date-Objekt
scale - Nachkommastellen der Sekunden
tz - Zeitzone
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(Date value,
                  TimeZone tz)
Konstruktor mit Date-Objekt und Zeitzone

Parameters:
value - Datum/Timestamp als Date-Objekt
tz - Zeitzone

DateString

public DateString(long value)
           throws IllegalArgumentException
Konstruktor mit Juliantimestamp.

Parameters:
value - Juliantimestamp oder ms seit 1970. Die Unterscheidung erfolgt nach dem Wert
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(long value,
                  TimeZone tz)
           throws IllegalArgumentException
Konstruktor mit Juliantimestamp.

Parameters:
value - Juliantimestamp oder ms seit 1970. Die Unterscheidung erfolgt nach dem Wert
tz - Zeitzone
Throws:
IllegalArgumentException - Überlauf in Scale

DateString

public DateString(String value)
           throws ParseException
Konstruktor mit String. Wenn der String mit 4 Ziffern und einem "-" beginnt, dann wird ein SQL-Timestamp angenommen Besteht der String nur aus Zahlen, dann hat er das Format von
text

Parameters:
value - Wert als Zeichenkette
Throws:
ParseException - Ungültiger String

DateString

public DateString(String value,
                  TimeZone tz)
           throws ParseException
Konstruktor mit String und Zeitzone. Wenn der String mit 4 Ziffern und einem "-" beginnt, dann wird ein SQL-Timestamp angenommen Besteht der String nur aus Zahlen, dann hat er das Format von
text

Parameters:
value - Wert als Zeichenkette
tz - Zeitzone
Throws:
ParseException - Ungültiger String

DateString

public DateString(TimeZone tz)
Default-Konstruktor mit Zeitzone. Erzeugt einen Timestamp mit der aktuellen Zeit und Scale 6

Parameters:
tz - Zeitzone
Method Detail

dump

public void dump()
Debug-Ausgabe des Objekts


getBytes

public void getBytes(byte[] dest,
                     int offset)
Gebe den Zahlenstring als Bytes zurück


getScale

public int getScale()
Ermittle die Skalierung

Returns:
Die Skalierung als ganze Zahl

getSize

public int getSize()
Ermittle die Anzahl der Stellen

Returns:
Die Anzahl der Stellen

getSqlBytes

public void getSqlBytes(byte[] dest,
                        int offset)
Gebe den SQL-Text als Bytes zurück


getSqlSize

public long getSqlSize()
Ermittle die Anzahl der Stellen des SQL-Textes

Returns:
Die Anzahl der Stellen

getSqlText

public String getSqlText()
Gebe den SQL-Text zurück

Returns:
Der Wert im SQL-Format "yyyy-MM-dd:HH:mm:ss..."

getSqlText

public String getSqlText(int scale)
Gebe den SQL-Text zurück

Parameters:
scale - Anzahl der Nachkommastellen der Sekunden
Returns:
Der Wert im SQL-Format "yyyy-MM-dd:HH:mm:ss..."

getText

public String getText()
Gebe den Zahlenstring zurück

Returns:
Der Zahlenstring im Format "yyyyMMddHHmmss..."

getTimeZone

public TimeZone getTimeZone()
Ermittle die Zeitzone

Returns:
Das TimeZone-Objekt

getValue

public Calendar getValue()
Ermittle den Wert

Returns:
Das Calendar-Objekt

init

protected void init(Date date,
                    int micros,
                    int scale,
                    TimeZone tz)
             throws IllegalArgumentException
Worker für Konstruktor

Parameters:
date - Wert als Date-Objekt
micros - Micro-Sekunden
scale - Skalierung (positiv oder negativ)
tz - Zeitzone
Throws:
IllegalArgumentException - Überlauf in Scale

init

protected void init(String string,
                    TimeZone tz)
             throws ParseException
Worker für Konstruktor

Parameters:
string - Wert als String
tz - Zeitzone
Throws:
ParseException - Ungültige Zeichen im String

main

public static void main(String[] args)
                 throws ParseException
Test-Hauptprogramm

Throws:
ParseException

setFormat

public void setFormat(String format)
Setze den Format-String für toString() Beispiel "yyyy-MM-dd:HH:mm:ss"

Parameters:
format - FormatString (siehe java.text.SimpleDateFormat)

setTimeZone

public void setTimeZone(TimeZone tz)
Setze die Zeitzone.

Parameters:
tz - Zeitzone

setValue

public void setValue(byte[] value,
                     int offset)
              throws ParseException
Setze den Wert aus einem Byte-Array

Parameters:
value - Wert als Byte-Array
offset - Offset innerhalb des Arrays
Throws:
ParseException - Ungültige Zeichen im Array

setValue

public void setValue(byte[] value,
                     int offset,
                     int size)
              throws ParseException
Setze den Wert aus einem Zahlen-Byte-Array Die Länge wird übergeben

Parameters:
value - Unskalierter Wert als Byte-Array
offset - Offset innerhalb des Arrays
size - Länge innerhalb des Arrays
Throws:
ParseException - Ungültige Zeichen im Array

setValue

public void setValue(Date value)
Setze den Wert aus einem Date-Objekt.

Parameters:
value - Datum/Timestamp als Date-Objekt

setValue

public void setValue(Date value,
                     int micros)
Setze den Wert aus einem Date-Objekt und Mikrosekunden

Parameters:
value - Datum/Timestamp als Date-Objekt

setValue

public void setValue(String value)
              throws ParseException
Setze den Wert aus einem Zahlenstring Wenn der String mit 4 Ziffern und einem "-" beginnt, dann wird ein SQL-Timestamp angenommen Besteht der String nur aus Zahlen, dann hat er das Format von
text

Parameters:
value - Wert als Zeichenkette
Throws:
ParseException - Ungültiger String

toString

public String toString()
Implementierung von Object.toString()

Overrides:
toString in class Object
Returns:
Der Wert im Standard-Format
See Also:
setFormat(String)


Copyright © 2008 MvC Systemsoftware.