de.pkjs.util
Class Convert

java.lang.Object
  extended by de.pkjs.util.Convert

public final class Convert
extends java.lang.Object

Diese Klasse entspricht in etwa der Convert-Klasse des .NET Framework.

Sie enthält nur statische Methoden zur Typ-Konvertierung.
Wenn der übergebene Wert null ist, dann wird auch null (oder 0) geliefert.

Zusätzlich kann aus einem String und unter Angabe des Sql-Datentyps eine gewünschte Formatierung nach einem Object vorgenommen werden.

Diese Klasse soll konvertieren was zu konvertieren ist, aber nicht validieren. Alle Exceptions werden abgefangen. Es werden also NIE Exceptions geworfen. Es gibt lediglich die Möglichkeit, sich den zuletzt aufgetretenen Fehler anzeigen zu lassen.

See Also:
getLastException()

Constructor Summary
Convert()
           
 
Method Summary
static java.lang.Object convert(java.lang.String methodname, java.lang.Object argument)
          Konvertiert das übergebene Objekt in das Zielformat unter Angabe einer Methode.
static java.lang.Object deserialize(byte[] data)
          Restauriert ein (nicht komprimiertes) serialisiertes Objekt.
static java.lang.Object deserialize(byte[] data, boolean compressed)
          Restauriert ein serialisiertes Objekt.
static boolean equals(java.lang.Object o1, java.lang.Object o2)
          Convertiert beide Objekte nach String und vergleicht dann mit equals
static java.text.SimpleDateFormat getDateFormat()
           
static java.text.SimpleDateFormat getDateFormatDefault()
          Liefert das DateFormat im Format von Date#toString(): "EEE MMM dd HH:mm:ss zzz yyyy" Locale.US
static java.text.SimpleDateFormat getDateTimeFormat()
           
static java.lang.Exception getLastException()
          Liefert den zuletzt aufgetretenen Fehler oder null, wenn bei der letzten Konvertierung kein Fehler aufgetreten ist.
static java.lang.reflect.Method getMethod(java.lang.String name, java.lang.Class<?> argumentType)
          Liefert eine Konvertierungsmethode dieser Klasse unter Angabe des Zielformats und dem Argument-Type.
static java.text.SimpleDateFormat getSqlTimeFormat()
           
static java.text.SimpleDateFormat getTimeFormat()
           
static boolean isDate(java.lang.String s)
          Liefert nur dann true, wenn das ein gültiges Datum im Format dd.MM.yyyy ist.
static boolean isInt(java.lang.String s)
          Liefert true, wenn der String ausschließlich aus Ziffern (0 bis 9) besteht.
static boolean isLenient()
           
static boolean isModified(java.lang.String a, java.lang.String b, int type)
           
static byte[] serialize(java.lang.Object obj)
          Serialisiert ein Objekt ohne Komprimierung
static byte[] serialize(java.lang.Object obj, boolean compressed)
          Serialisiert ein Objekt in ein Byte-Array.
static void setDateFormat(java.text.SimpleDateFormat format)
           
static void setDateTimeFormat(java.text.SimpleDateFormat format)
           
static void setLenient(boolean _lenient)
          see DateFormat#setLenient Default is false
static void setSqlTimeFormat(java.text.SimpleDateFormat format)
           
static void setTimeFormat(java.text.SimpleDateFormat format)
           
static java.math.BigDecimal toBigDecimal(java.lang.Object o)
           
static java.math.BigDecimal toBigDecimal(java.lang.String s)
          Konvertiert einen String nach BigDecimal; dabei wird "," zu ".".
static java.util.Date toBirthdate(java.lang.String s)
          Besonderheit:
Wenn die Länge von s <=8 wird versucht, daraus ein gültiges Geburtsdatum zu machen, welches nicht in der Zukunft liegt.
static boolean toBoolean(int val)
          Liefert true wenn der übergebene Wert 1 ist.
static boolean toBoolean(long val)
          Liefert true wenn der übergebene Wert 1 ist.
static boolean toBoolean(java.lang.Object o)
          Wenn Object null, dann false
static boolean toBoolean(java.lang.String s)
          Akzeptiert auch "true", "false", "ok", "yes", "no", "y", "n", "on", "off", "0", "(0)", "1" Ist nicht Case-sensitiv.
static java.awt.Color toColor(java.lang.String s)
          Liefert eine Color unter Angabe ihres Namens (red, gray,...) oder rgb mit Komma getrennt (255,255,255).
static java.util.Date toDate(java.lang.String s)
           
static java.sql.Timestamp toDateTime(java.lang.String s)
          Converts String to Timestamp.
static java.awt.Dimension toDimension(java.lang.String val)
          Wandelt einen String in der Notation "123,456" oder "321.654" in eine Dimension um.
static double toDouble(java.lang.Object o)
           
static double toDouble(java.lang.String s)
          Converts from String to double.
static float toFloat(java.lang.String s)
          Converts from String to float.
static int toInt(boolean b)
          Macht aus boolean 0 oder 1
static int toInt(java.lang.Integer i)
           
static int toInt(long l)
          Liefert 0, wenn kein cast auf int möglich
static int toInt(java.lang.Object o)
           
static int toInt(java.lang.String s)
          Hierbei werden "true" und "false" zu "1" oder "0".
static long toLong(boolean b)
           
static long toLong(int i)
           
static long toLong(java.lang.Long l)
           
static long toLong(java.lang.Object o)
          Liefert 0 wenn Object null; ansonsten toLong(o.toString());
static long toLong(java.lang.String s)
           
static java.lang.Object toObject(java.lang.String s, java.lang.Class<?> type)
          Konvertiert einen String in ein Object der angegebenen Klasse.
static java.lang.Object toObject(java.lang.String s, int type)
          Erzeugt aus einem String unter Angabe des SQL-Types ein Object der entsprechenden Java-Klasse.
static java.sql.Date toSqlDate(java.util.Date ud)
          Converts java.util.Date to java.sql.Date
static java.sql.Date toSqlDate(java.lang.String s)
          Funktioniert nur, wenn String im Format yyyy-mm-dd oder dd.mm.yyyy
static java.lang.String toString(java.math.BigDecimal big)
           
static java.lang.String toString(java.math.BigInteger big)
           
static java.lang.String toString(boolean b)
           
static java.lang.String toString(java.lang.Boolean b)
           
static java.lang.String toString(java.lang.Byte b)
           
static java.lang.String toString(java.awt.Color c)
          Liefert einen String "red,green,blue" ( z.B. "255,255,255").
static java.lang.String toString(java.util.Date d)
           
static java.lang.String toString(java.util.Date d, java.text.SimpleDateFormat format)
           
static java.lang.String toString(java.awt.Dimension d)
          Liefert einen String "width,height".
static java.lang.String toString(double d)
           
static java.lang.String toString(java.lang.Double d)
           
static java.lang.String toString(float f)
           
static java.lang.String toString(java.lang.Float f)
           
static java.lang.String toString(int i)
           
static java.lang.String toString(int i, java.text.DecimalFormat format)
           
static java.lang.String toString(java.lang.Integer i)
           
static java.lang.String toString(long l)
           
static java.lang.String toString(java.lang.Long l)
           
static java.lang.String toString(java.lang.Object o)
          TODO:
static java.lang.String toString(java.lang.Object o, int type)
          Convertiert ein Object je nach sql.Types zu einem String
static java.lang.String toString(short i)
           
static java.lang.String toString(java.lang.Short i)
           
static java.lang.String toString(java.sql.Time time)
          Formatiert die Zeit in das eingestellte Format.
static java.lang.String toString(java.sql.Timestamp ts)
           
static java.lang.String toStringNumber(java.lang.String s)
          Konvertiert eine String im Format "###.###.##0,000" in das Format "########0.000".
static java.lang.String toStringTime(java.util.Date d)
           
static java.lang.String toStringTimeSql(java.util.Date d)
           
static java.lang.String toStringTimestamp(java.util.Date d)
           
static java.sql.Time toTime(java.lang.String s)
          Akzeptiert hh:mm, h:m, hh:mm:ss, h:m:s
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Convert

public Convert()
Method Detail

getDateFormat

public static java.text.SimpleDateFormat getDateFormat()

getDateTimeFormat

public static java.text.SimpleDateFormat getDateTimeFormat()

getTimeFormat

public static java.text.SimpleDateFormat getTimeFormat()

getSqlTimeFormat

public static java.text.SimpleDateFormat getSqlTimeFormat()

getDateFormatDefault

public static java.text.SimpleDateFormat getDateFormatDefault()
Liefert das DateFormat im Format von Date#toString(): "EEE MMM dd HH:mm:ss zzz yyyy" Locale.US

Returns:

setDateFormat

public static void setDateFormat(java.text.SimpleDateFormat format)

setDateTimeFormat

public static void setDateTimeFormat(java.text.SimpleDateFormat format)

setTimeFormat

public static void setTimeFormat(java.text.SimpleDateFormat format)

setSqlTimeFormat

public static void setSqlTimeFormat(java.text.SimpleDateFormat format)

getLastException

public static java.lang.Exception getLastException()
Liefert den zuletzt aufgetretenen Fehler oder null, wenn bei der letzten Konvertierung kein Fehler aufgetreten ist.

Returns:
Throwable

toBoolean

public static boolean toBoolean(int val)
Liefert true wenn der übergebene Wert 1 ist. Alles andere ergibt false


toBoolean

public static boolean toBoolean(long val)
Liefert true wenn der übergebene Wert 1 ist. Alles andere ergibt false


toBoolean

public static boolean toBoolean(java.lang.String s)
Akzeptiert auch "true", "false", "ok", "yes", "no", "y", "n", "on", "off", "0", "(0)", "1" Ist nicht Case-sensitiv. "FaLsE" und "No" ist also auch "false".
Blancs werden vorn und hinten abgeschnitten.
Liefert auch false wenn Argument null.

Parameters:
s -
Returns:
boolean

toBoolean

public static boolean toBoolean(java.lang.Object o)
Wenn Object null, dann false

Parameters:
o -
Returns:

toInt

public static int toInt(boolean b)
Macht aus boolean 0 oder 1

Parameters:
b -
Returns:
int 1 if true; 0 if false

toInt

public static int toInt(long l)
Liefert 0, wenn kein cast auf int möglich

Parameters:
l -
Returns:

toInt

public static int toInt(java.lang.String s)
Hierbei werden "true" und "false" zu "1" oder "0".

Bei "MIN_VALUE" und "MAX_VALUE" wird Integer.MIN_VALUE bzw. Integer.MAX_VALUE geliefert.

Parameters:
s -
Returns:

toInt

public static int toInt(java.lang.Integer i)

toInt

public static int toInt(java.lang.Object o)
Parameters:
o -
Returns:
0 if param IS NULL
See Also:
toInt(String)

toLong

public static long toLong(boolean b)

toLong

public static long toLong(int i)

toLong

public static long toLong(java.lang.String s)

toLong

public static long toLong(java.lang.Long l)

toLong

public static long toLong(java.lang.Object o)
Liefert 0 wenn Object null; ansonsten toLong(o.toString());

Parameters:
o -
Returns:

toFloat

public static float toFloat(java.lang.String s)
Converts from String to float. Return 0.0 if param is null or param is not a parsable String

Parameters:
s -
Returns:

toDouble

public static double toDouble(java.lang.String s)
Converts from String to double. Return 0.0 if param is null or param is not a parsable String

Parameters:
s -
Returns:

toDouble

public static double toDouble(java.lang.Object o)

toDate

public static java.util.Date toDate(java.lang.String s)

toSqlDate

public static java.sql.Date toSqlDate(java.lang.String s)
Funktioniert nur, wenn String im Format yyyy-mm-dd oder dd.mm.yyyy

Parameters:
s -
Returns:

toSqlDate

public static java.sql.Date toSqlDate(java.util.Date ud)
Converts java.util.Date to java.sql.Date

Parameters:
ud -
Returns:
null if argument is null

toDateTime

public static java.sql.Timestamp toDateTime(java.lang.String s)
Converts String to Timestamp.

Wenn das nicht funktioniert, wird hilfsweise auf Datum oder Uhrzeit geparst

Parameters:
s -
Returns:
null, wenn kein gültiger String

toTime

public static java.sql.Time toTime(java.lang.String s)
Akzeptiert hh:mm, h:m, hh:mm:ss, h:m:s

Parameters:
s -
Returns:

toBirthdate

public static java.util.Date toBirthdate(java.lang.String s)
Besonderheit:
Wenn die Länge von s <=8 wird versucht, daraus ein gültiges Geburtsdatum zu machen, welches nicht in der Zukunft liegt.

Also 11.12.55 zu 11.12.1955

Liefert null, wenn der String null oder leer.

Parameters:
s -
Returns:

toString

public static java.lang.String toString(java.sql.Time time)
Formatiert die Zeit in das eingestellte Format.

Parameters:
time -
Returns:
String im Format hh:mm o.ä.
See Also:
getTimeFormat()

toBigDecimal

public static java.math.BigDecimal toBigDecimal(java.lang.Object o)
Parameters:
o - #toString()
Returns:
See Also:
toBigDecimal(String)

toBigDecimal

public static java.math.BigDecimal toBigDecimal(java.lang.String s)
Konvertiert einen String nach BigDecimal; dabei wird "," zu ".".

Die Strings "true" und "false" werden zu '1' oder '0'.

Wenn das Argument "null" ist oder der String nicht numerisch, wird '0.00' geliefert.

Parameters:
s -
Returns:

toString

public static java.lang.String toString(boolean b)

toString

public static java.lang.String toString(java.lang.Boolean b)

toString

public static java.lang.String toString(java.lang.Byte b)

toString

public static java.lang.String toString(short i)

toString

public static java.lang.String toString(java.lang.Short i)

toString

public static java.lang.String toString(int i)

toString

public static java.lang.String toString(int i,
                                        java.text.DecimalFormat format)

toString

public static java.lang.String toString(java.lang.Integer i)

toString

public static java.lang.String toString(long l)

toString

public static java.lang.String toString(java.lang.Long l)

toString

public static java.lang.String toString(double d)

toString

public static java.lang.String toString(java.lang.Double d)

toString

public static java.lang.String toString(java.lang.Float f)

toString

public static java.lang.String toString(float f)

toString

public static java.lang.String toString(java.util.Date d)

toString

public static java.lang.String toString(java.util.Date d,
                                        java.text.SimpleDateFormat format)

toStringTimestamp

public static java.lang.String toStringTimestamp(java.util.Date d)

toStringTime

public static java.lang.String toStringTime(java.util.Date d)

toStringTimeSql

public static java.lang.String toStringTimeSql(java.util.Date d)

toString

public static java.lang.String toString(java.sql.Timestamp ts)

toString

public static java.lang.String toString(java.math.BigDecimal big)

toString

public static java.lang.String toString(java.math.BigInteger big)

toStringNumber

public static java.lang.String toStringNumber(java.lang.String s)
Konvertiert eine String im Format "###.###.##0,000" in das Format "########0.000". Wird null übergeben wird auch null geliefert. Strings werden vorn und hinten abgeschnitten. Der Sinn besteht darin, ein deutsches NumberFormat für parseDouble und BigDecimal zu konvertieren.

Parameters:
s -
Returns:

toString

public static java.lang.String toString(java.awt.Color c)
Liefert einen String "red,green,blue" ( z.B. "255,255,255").

Parameters:
c -
Returns:

toString

public static java.lang.String toString(java.awt.Dimension d)
Liefert einen String "width,height".

Parameters:
d -
Returns:

toColor

public static java.awt.Color toColor(java.lang.String s)
Liefert eine Color unter Angabe ihres Namens (red, gray,...) oder rgb mit Komma getrennt (255,255,255). Im Fehlerfall wird Pink geliefert.

Parameters:
s -
Returns:

toDimension

public static java.awt.Dimension toDimension(java.lang.String val)
Wandelt einen String in der Notation "123,456" oder "321.654" in eine Dimension um.

Wenn null übergeben wird, wird auch null geliefert. Im Fehlerfall wird 0,0 geliefert.


isModified

public static boolean isModified(java.lang.String a,
                                 java.lang.String b,
                                 int type)

toObject

public static java.lang.Object toObject(java.lang.String s,
                                        int type)
Erzeugt aus einem String unter Angabe des SQL-Types ein Object der entsprechenden Java-Klasse.

Aus "10.11.2003" und Types.DATE wird also ein Date-Object erzeugt. Dieses Objekt kann jetzt einem PreparedStatement mit setObject zugewiesen werden.
Wenn null übergeben wird, wird auch null geliefert.

Parameters:
s -
type - Siehe java.sql.Types
Returns:

toObject

public static java.lang.Object toObject(java.lang.String s,
                                        java.lang.Class<?> type)
Konvertiert einen String in ein Object der angegebenen Klasse.

Als Klassen sind erlaubt:

Wenn der übergebene String null ist, werden die primitiv-Datentypen auf 0 abgebildet, bzw. false, ' '

Parameters:
s -
type -
Returns:

toString

public static java.lang.String toString(java.lang.Object o,
                                        int type)
Convertiert ein Object je nach sql.Types zu einem String

Parameters:
o - Ein Object oder null
type - Konstante java.sql.Types
Returns:
wenn o null, dann auch null

toString

public static java.lang.String toString(java.lang.Object o)
TODO:

Parameters:
o -
Returns:

isInt

public static boolean isInt(java.lang.String s)
Liefert true, wenn der String ausschließlich aus Ziffern (0 bis 9) besteht. Liefert auch false, wenn der String null oder leer ist.

Parameters:
s -
Returns:

isDate

public static boolean isDate(java.lang.String s)
Liefert nur dann true, wenn das ein gültiges Datum im Format dd.MM.yyyy ist. Liefert auch false, wann Argument null oder leer.

Parameters:
s -
Returns:

convert

public static java.lang.Object convert(java.lang.String methodname,
                                       java.lang.Object argument)
Konvertiert das übergebene Objekt in das Zielformat unter Angabe einer Methode.

Parameters:
methodname -
argument -
Returns:

getMethod

public static java.lang.reflect.Method getMethod(java.lang.String name,
                                                 java.lang.Class<?> argumentType)
Liefert eine Konvertierungsmethode dieser Klasse unter Angabe des Zielformats und dem Argument-Type.

Parameters:
name - z.B. "Date" ohne den Zusatz "to"
argumentType - z.B. String.class
Returns:
z.B. die Methode Date toDate(String s)

isLenient

public static boolean isLenient()
Returns:
Returns the lenient.

setLenient

public static void setLenient(boolean _lenient)
see DateFormat#setLenient Default is false

Parameters:
lenient - The lenient to set.

serialize

public static byte[] serialize(java.lang.Object obj,
                               boolean compressed)
Serialisiert ein Objekt in ein Byte-Array.

Parameters:
compressed - Komprimiert das Byte-Array wenn true

serialize

public static byte[] serialize(java.lang.Object obj)
Serialisiert ein Objekt ohne Komprimierung

Parameters:
obj -
Returns:

deserialize

public static java.lang.Object deserialize(byte[] data)
Restauriert ein (nicht komprimiertes) serialisiertes Objekt.

Parameters:
data -
Returns:

deserialize

public static java.lang.Object deserialize(byte[] data,
                                           boolean compressed)
Restauriert ein serialisiertes Objekt.

Parameters:
data -
compressed -
Returns:

equals

public static boolean equals(java.lang.Object o1,
                             java.lang.Object o2)
Convertiert beide Objekte nach String und vergleicht dann mit equals

Parameters:
o1 -
o2 -
Returns:
true, wenn beide null; false wenn eines null; ansonsten String.equals(Object)