to.etc.util
Class RuntimeConversions

java.lang.Object
  extended by to.etc.util.RuntimeConversions

public class RuntimeConversions
extends java.lang.Object

This static class contains a sh..tload of code which converts runtime objects into other objects, using generic rules for doing that. This code is shared between the EL interpreter, the NEMA template engine and the like to allow conversion of objects to other types.

Created on May 25, 2005

Author:
Frits Jalvingh

Method Summary
static
<T> T
convertTo(java.lang.Object o, java.lang.Class<T> to)
          Converts an input type to whatever type is needed.
static
<T> T
convertToArray(java.lang.Class<T> totype, java.lang.Object src)
           
static java.math.BigDecimal convertToBigDecimal(java.lang.Object in)
           
static java.math.BigInteger convertToBigInteger(java.lang.Object in)
           
static boolean convertToBool(java.lang.Object o)
          Convert an object to a boolean.
static java.lang.Boolean convertToBooleanWrapper(java.lang.Object in)
           
static byte convertToByte(java.lang.Object o)
          Convert an object to a byte.
static java.lang.Byte convertToByteWrapper(java.lang.Object in)
           
static char convertToChar(java.lang.Object o)
          Convert an object to a char.
static java.lang.Character convertToCharacterWrapper(java.lang.Object in)
           
static
<T> T
convertToComplex(java.lang.Object source, java.lang.Class<T> totype)
           
static java.util.Date convertToDate(java.lang.Object o)
           
static double convertToDouble(java.lang.Object o)
          Convert an object to a double.
static java.lang.Double convertToDoubleWrapper(java.lang.Object in)
           
static java.lang.Enum<?> convertToEnum(java.lang.Class<java.lang.Enum<?>> cl, java.lang.Object o)
           
static int convertToInt(java.lang.Object o)
          Convert an object to an integer.
static java.lang.Integer convertToIntegerWrapper(java.lang.Object in)
           
static IListable<?> convertToListable(java.lang.Object o)
          Converts any collection-like structure to a Listable.
static long convertToLong(java.lang.Object o)
          Convert an object to a long.
static java.lang.Long convertToLongWrapper(java.lang.Object in)
           
static IMappable<?,?> convertToMappable(java.lang.Object o)
           
static short convertToShort(java.lang.Object o)
          Convert an object to a Short.
static java.lang.Short convertToShortWrapper(java.lang.Object in)
           
static java.lang.String convertToString(java.lang.Object o)
          Converts a string.
static java.lang.Object createConcreteCollection(java.lang.Class<?> ct)
          Create a concrete instance of some collection type, i.e.
static boolean isCollectionType(java.lang.Class<?> cl)
          Returns T if this is a supported collection type.
static boolean isIterable(java.lang.Object val)
          Returns T if the object passed can be iterated over using the makeIterator call.
static java.util.Iterator<?> makeIterator(java.lang.Object val)
          This creates an iterator which can iterate over the object passed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

convertToInt

public static int convertToInt(java.lang.Object o)
Convert an object to an integer. This accepts most of the base classes.

Parameters:
o -
Returns:

convertToLong

public static long convertToLong(java.lang.Object o)
Convert an object to a long.

Parameters:
o -
Returns:

convertToByte

public static byte convertToByte(java.lang.Object o)
Convert an object to a byte.

Parameters:
o -
Returns:

convertToShort

public static short convertToShort(java.lang.Object o)
Convert an object to a Short.

Parameters:
o -
Returns:

convertToDouble

public static double convertToDouble(java.lang.Object o)
Convert an object to a double.

Parameters:
o -
Returns:

convertToChar

public static char convertToChar(java.lang.Object o)
Convert an object to a char.

Parameters:
o -
Returns:

convertToBool

public static boolean convertToBool(java.lang.Object o)
Convert an object to a boolean.

Parameters:
o -
Returns:

convertToString

public static java.lang.String convertToString(java.lang.Object o)
Converts a string. The null string is converted to the empty string.

Parameters:
o -
Returns:

convertToBigDecimal

public static java.math.BigDecimal convertToBigDecimal(java.lang.Object in)

convertToBigInteger

public static java.math.BigInteger convertToBigInteger(java.lang.Object in)

convertToDoubleWrapper

public static java.lang.Double convertToDoubleWrapper(java.lang.Object in)

convertToLongWrapper

public static java.lang.Long convertToLongWrapper(java.lang.Object in)

convertToIntegerWrapper

public static java.lang.Integer convertToIntegerWrapper(java.lang.Object in)

convertToShortWrapper

public static java.lang.Short convertToShortWrapper(java.lang.Object in)

convertToCharacterWrapper

public static java.lang.Character convertToCharacterWrapper(java.lang.Object in)

convertToByteWrapper

public static java.lang.Byte convertToByteWrapper(java.lang.Object in)

convertToBooleanWrapper

public static java.lang.Boolean convertToBooleanWrapper(java.lang.Object in)

convertTo

public static final <T> T convertTo(java.lang.Object o,
                                    java.lang.Class<T> to)
Converts an input type to whatever type is needed.


convertToComplex

public static final <T> T convertToComplex(java.lang.Object source,
                                           java.lang.Class<T> totype)

convertToArray

public static <T> T convertToArray(java.lang.Class<T> totype,
                                   java.lang.Object src)

makeIterator

public static java.util.Iterator<?> makeIterator(java.lang.Object val)
                                          throws java.lang.Exception
This creates an iterator which can iterate over the object passed. The object must contain some thing which allows for iteration. The following types are supported: Any other type will throw a RuntimeConversionException. converts

Throws:
java.lang.Exception

isIterable

public static boolean isIterable(java.lang.Object val)
Returns T if the object passed can be iterated over using the makeIterator call.

Parameters:
val -
Returns:
See Also:
makeIterator(Object val)

convertToListable

public static IListable<?> convertToListable(java.lang.Object o)
Converts any collection-like structure to a Listable. In addition, maps are converted to Mappable too.

Parameters:
o -
Returns:

convertToMappable

public static IMappable<?,?> convertToMappable(java.lang.Object o)

convertToDate

public static java.util.Date convertToDate(java.lang.Object o)

convertToEnum

public static java.lang.Enum<?> convertToEnum(java.lang.Class<java.lang.Enum<?>> cl,
                                              java.lang.Object o)

isCollectionType

public static boolean isCollectionType(java.lang.Class<?> cl)
Returns T if this is a supported collection type. Collection types are Array, List, Set and Collection and concrete implementations of those.


createConcreteCollection

public static java.lang.Object createConcreteCollection(java.lang.Class<?> ct)
Create a concrete instance of some collection type, i.e. something implementing Collection.

Parameters:
colltype -
Returns: