schmitzm.temp
Class BaseTypeUtil

java.lang.Object
  extended by schmitzm.temp.BaseTypeUtil

public class BaseTypeUtil
extends Object

Diese Klasse stellt statische Methoden zur Arbeit mit BaseTypes bereit. Mit BaseTypes sind folgende Klassen und Build-In-Types gemeint:

Klasseentsprechender Build-In-Type
java.lang.Bytebyte.class
java.lang.Shortshort.class
java.lang.Integerint.class
java.lang.Longlong.class
java.lang.Floatfloat.class
java.lang.Doubledouble.class
java.lang.Booleanboolen.class
java.lang.Characterchar.class
java.lang.String---

Seit JDK 1.5 koennen Build-In-Types auch als Objekte behandelt werden. Diese Klasse stellt Methoden zur Kompatibilitaet zur Verfuegung.
Die Methoden basieren jedoch sehr auf statischen Fallunterscheidungen! Deshalb sollen sie nur als voruebergehende Notloesung dienen und zu gegebener Zeit durch bessere (und u.U. effizientere Methoden) ersetzt werden.

Zur Zeit basieren folgende Methoden auf dieser Klasse:

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)

Constructor Summary
BaseTypeUtil()
           
 
Method Summary
static Object convertFromString(String strValue)
          Erzeugt eine BaseType-Instanz aus einem String.
static
<T> T
convertFromString(String strValue, Class<? extends T> destType)
          Erzeugt eine BaseType-Instanz aus einem String.
static Object convertNumber(Number source, Class<Number> destType)
          Wandelt einen numerischen Wert in einen bestimmten Datentyp um.
static boolean isBaseType(Class c)
          Prueft, ob die angegebene Klasse einen Basistyp (inkl.
static boolean isBaseType(Object o)
          Prueft, ob das angegebene Objekt einen Basistyp (auch String) oder eine korrespondierende Klasse (z.B.
static boolean isBoolean(Class c)
          Prueft, ob die angegebene Klasse einen boolschen Wert darstellt.
static boolean isBoolean(Object o)
          Prueft, ob das angegebene Objekt einen boolschen Wert darstellt.
static boolean isBuildInType(Class c)
          Prueft, ob die angegebene Klasse einen Build-In-Type darstellt.
static boolean isBuildInType(Object o)
          Prueft, ob das angegebene Objekt einen Build-In-Type darstellt.
static boolean isByte(Class c)
          Prueft, ob die angegebene Klasse eine 8-bit-Ganzzahl darstellt.
static boolean isByte(Object o)
          Prueft, ob das angegebene Objekt eine 8-bit-Ganzzahl darstellt.
static boolean isCharacter(Class c)
          Prueft, ob die angegebene Klasse ein Zeichen darstellt.
static boolean isCharacter(Object o)
          Prueft, ob das angegebene Objekt ein Zeichen darstellt.
static boolean isConvertable(Class<Number> fromClass, Class<Number> toClass)
          Prueft, ob eine numerische Datentyp-Klasse in eine andere numerische Datentyp-Klasse (ohne Verlust) umgewandelt werden kann.
static boolean isDecimal(Class c)
          Prueft, ob die angegebene Klasse eine Dezimalzahl oder eine korrespondierende Klasse (z.B.
static boolean isDecimal(Object o)
          Prueft, ob das angegebene Objekt eine Dezimalzahl oder eine korrespondierende Klasse (z.B.
static boolean isDouble(Class c)
          Prueft, ob die angegebene Klasse eine 64-bit-Gleitkommazahl darstellt.
static boolean isDouble(Object o)
          Prueft, ob das angegebene Objekt eine 64-bit-Gleitkommazahl darstellt.
static boolean isEquivalent(Class c1, Class c2)
          Prueft, ob zwei BaseType-Klassen zueinander kompatibel sind
static boolean isEquivalent(Object o1, Object o2)
          Prueft, ob zwei BaseType-Objekte zueinander kompatibel sind
static boolean isFloat(Class c)
          Prueft, ob die angegebene Klasse eine 32-bit-Gleitkommazahl darstellt.
static boolean isFloat(Object o)
          Prueft, ob das angegebene Objekt eine 32-bit-Gleitkommazahl darstellt.
static boolean isInteger(Class c)
          Prueft, ob die angegebene Klasse eine 32-bit-Ganzzahl darstellt.
static boolean isInteger(Object o)
          Prueft, ob das angegebene Objekt eine 32-bit-Ganzzahl darstellt.
static boolean isLong(Class c)
          Prueft, ob die angegebene Klasse eine 64-bit-Ganzzahl darstellt.
static boolean isLong(Object o)
          Prueft, ob das angegebene Objekt eine 64-bit-Ganzzahl darstellt.
static boolean isNumeric(Class c)
          Prueft, ob die angegebene Klasse einen numerischen Basistyp oder eine korrespondierende Klasse (z.B.
static boolean isNumeric(Object o)
          Prueft, ob das angegebene Objekt einen numerischen Basistyp oder eine korrespondierende Klasse (z.B.
static boolean isShort(Class c)
          Prueft, ob die angegebene Klasse eine 16-bit-Ganzzahl darstellt.
static boolean isShort(Object o)
          Prueft, ob das angegebene Objekt eine 16-bit-Ganzzahl darstellt.
static boolean isString(Class c)
          Prueft, ob die angegebene Klasse eine Zeichenkette darstellt.
static boolean isString(Object o)
          Prueft, ob das angegebene Objekt eine Zeichenkette darstellt.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseTypeUtil

public BaseTypeUtil()
Method Detail

isBuildInType

public static boolean isBuildInType(Class c)
Prueft, ob die angegebene Klasse einen Build-In-Type darstellt. Dies sind alle Typen, die oben in der rechten Spalte angegeben sind.


isBuildInType

public static boolean isBuildInType(Object o)
Prueft, ob das angegebene Objekt einen Build-In-Type darstellt. Dies sind alle Typen, die oben in der rechten Spalte angegeben sind.

Returns:
false, wenn das angegebene Objekt null ist

isByte

public static boolean isByte(Class c)
Prueft, ob die angegebene Klasse eine 8-bit-Ganzzahl darstellt. Also entweder byte.class oder java.lang.Byte.


isByte

public static boolean isByte(Object o)
Prueft, ob das angegebene Objekt eine 8-bit-Ganzzahl darstellt. Also entweder eine Instanz von byte.class oder java.lang.Byte ist.

Returns:
false, wenn das angegebene Objekt null ist

isShort

public static boolean isShort(Class c)
Prueft, ob die angegebene Klasse eine 16-bit-Ganzzahl darstellt. Also entweder short.class oder java.lang.Short.


isShort

public static boolean isShort(Object o)
Prueft, ob das angegebene Objekt eine 16-bit-Ganzzahl darstellt. Also entweder eine Instanz von short.class oder java.lang.Short ist.

Returns:
false, wenn das angegebene Objekt null ist

isInteger

public static boolean isInteger(Class c)
Prueft, ob die angegebene Klasse eine 32-bit-Ganzzahl darstellt. Also entweder int.class oder java.lang.Integer.


isInteger

public static boolean isInteger(Object o)
Prueft, ob das angegebene Objekt eine 32-bit-Ganzzahl darstellt. Also entweder eine Instanz von int.class oder java.lang.Integer ist.

Returns:
false, wenn das angegebene Objekt null ist

isLong

public static boolean isLong(Class c)
Prueft, ob die angegebene Klasse eine 64-bit-Ganzzahl darstellt. Also entweder long.class oder java.lang.Long.


isLong

public static boolean isLong(Object o)
Prueft, ob das angegebene Objekt eine 64-bit-Ganzzahl darstellt. Also entweder eine Instanz von long.class oder java.lang.Long ist.

Returns:
false, wenn das angegebene Objekt null ist

isFloat

public static boolean isFloat(Class c)
Prueft, ob die angegebene Klasse eine 32-bit-Gleitkommazahl darstellt. Also entweder float.class oder java.lang.Float.


isFloat

public static boolean isFloat(Object o)
Prueft, ob das angegebene Objekt eine 32-bit-Gleitkommazahl darstellt. Also entweder eine Instanz von float.class oder java.lang.Float ist.

Returns:
false, wenn das angegebene Objekt null ist

isDouble

public static boolean isDouble(Class c)
Prueft, ob die angegebene Klasse eine 64-bit-Gleitkommazahl darstellt. Also entweder double.class oder java.lang.Couble.


isDouble

public static boolean isDouble(Object o)
Prueft, ob das angegebene Objekt eine 64-bit-Gleitkommazahl darstellt. Also entweder eine Instanz von double.class oder java.lang.Double ist.

Returns:
false, wenn das angegebene Objekt null ist

isBoolean

public static boolean isBoolean(Class c)
Prueft, ob die angegebene Klasse einen boolschen Wert darstellt. Also entweder boolean.class oder java.lang.Boolean.


isBoolean

public static boolean isBoolean(Object o)
Prueft, ob das angegebene Objekt einen boolschen Wert darstellt. Also entweder eine Instanz von boolean.class oder java.lang.Boolean ist.

Returns:
false, wenn das angegebene Objekt null ist

isCharacter

public static boolean isCharacter(Class c)
Prueft, ob die angegebene Klasse ein Zeichen darstellt. Also entweder char.class oder java.lang.Character.


isCharacter

public static boolean isCharacter(Object o)
Prueft, ob das angegebene Objekt ein Zeichen darstellt. Also entweder eine Instanz von char.class oder java.lang.Character ist.

Returns:
false, wenn das angegebene Objekt null ist

isString

public static boolean isString(Class c)
Prueft, ob die angegebene Klasse eine Zeichenkette darstellt. Also java.lang.String.


isString

public static boolean isString(Object o)
Prueft, ob das angegebene Objekt eine Zeichenkette darstellt. Also eine Instanz von java.lang.String ist.

Returns:
false, wenn das angegebene Objekt null ist

isBaseType

public static boolean isBaseType(Class c)
Prueft, ob die angegebene Klasse einen Basistyp (inkl. String) oder eine korrespondierende Klasse (z.B. java.lang.Integer) darstellt.


isBaseType

public static boolean isBaseType(Object o)
Prueft, ob das angegebene Objekt einen Basistyp (auch String) oder eine korrespondierende Klasse (z.B. java.lang.Integer) darstellt.


isNumeric

public static boolean isNumeric(Class c)
Prueft, ob die angegebene Klasse einen numerischen Basistyp oder eine korrespondierende Klasse (z.B. java.lang.Integer) darstellt.


isNumeric

public static boolean isNumeric(Object o)
Prueft, ob das angegebene Objekt einen numerischen Basistyp oder eine korrespondierende Klasse (z.B. java.lang.Integer) darstellt.


isDecimal

public static boolean isDecimal(Class c)
Prueft, ob die angegebene Klasse eine Dezimalzahl oder eine korrespondierende Klasse (z.B. java.lang.Double) darstellt.


isDecimal

public static boolean isDecimal(Object o)
Prueft, ob das angegebene Objekt eine Dezimalzahl oder eine korrespondierende Klasse (z.B. java.lang.Double) darstellt.


isEquivalent

public static boolean isEquivalent(Class c1,
                                   Class c2)
Prueft, ob zwei BaseType-Klassen zueinander kompatibel sind

Returns:
false wenn eine der Klassen keinen BaseType darstellt

isEquivalent

public static boolean isEquivalent(Object o1,
                                   Object o2)
Prueft, ob zwei BaseType-Objekte zueinander kompatibel sind

Returns:
false wenn eines der Objekte keinen BaseType darstellt oder null ist

isConvertable

public static boolean isConvertable(Class<Number> fromClass,
                                    Class<Number> toClass)
Prueft, ob eine numerische Datentyp-Klasse in eine andere numerische Datentyp-Klasse (ohne Verlust) umgewandelt werden kann.

Parameters:
fromClass - Ausgangs-Datentyp
to - Class Ziel-Datentyp

convertNumber

public static Object convertNumber(Number source,
                                   Class<Number> destType)
Wandelt einen numerischen Wert in einen bestimmten Datentyp um. Dabei kann

Parameters:
source - numerisches Datenobjekt
destType - Typ, in den das Objekt umgewandelt wird

convertFromString

public static <T> T convertFromString(String strValue,
                                      Class<? extends T> destType)
Erzeugt eine BaseType-Instanz aus einem String.

Parameters:
strValue - Zeichenkette, die das Objekt darstellt
destType - BaseType in den konvertiert werden soll

convertFromString

public static Object convertFromString(String strValue)
Erzeugt eine BaseType-Instanz aus einem String. Es wird versucht, einen der folgenden Datentypen zu erzeugen:
  1. Integer
  2. Double
  3. String

Parameters:
strValue - Zeichenkette, die das Objekt darstellt