in ti/phase2/jars/core/src/java/org/apache/ti/util/type/TypeUtils.java [371:696]
private static void initialize() {
TYPE_CONVERTERS.put(byte.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
return (((value == null) || value.equals(EMPTY_STRING)) ? new Byte((byte) 0) : new Byte(value.trim()));
}
});
TYPE_CONVERTERS.put(Byte.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, byte.class, null);
}
}
});
TYPE_CONVERTERS.put(boolean.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return Boolean.FALSE;
}
value = value.toLowerCase().trim();
if (value.equals("on") || value.equals("true")) {
return Boolean.TRUE;
} else {
return Boolean.FALSE;
}
}
});
TYPE_CONVERTERS.put(Boolean.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, boolean.class, null);
}
}
});
TYPE_CONVERTERS.put(char.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Character('\u0000');
} else {
return new Character(value.charAt(0));
}
}
});
TYPE_CONVERTERS.put(Character.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, char.class, null);
}
}
});
TYPE_CONVERTERS.put(double.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Double(0.0);
} else {
return new Double(value.trim());
}
}
});
TYPE_CONVERTERS.put(Double.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, double.class, null);
}
}
});
TYPE_CONVERTERS.put(float.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Float(0.0);
} else {
return new Float(value.trim());
}
}
});
TYPE_CONVERTERS.put(Float.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, float.class, null);
}
}
});
TYPE_CONVERTERS.put(int.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Integer(0);
} else {
return new Integer(value.trim());
}
}
});
TYPE_CONVERTERS.put(Integer.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, int.class, null);
}
}
});
TYPE_CONVERTERS.put(long.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Long(0);
} else {
return new Long(value.trim());
}
}
});
TYPE_CONVERTERS.put(Long.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, long.class, null);
}
}
});
TYPE_CONVERTERS.put(short.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return new Short((short) 0);
} else {
return new Short(value.trim());
}
}
});
TYPE_CONVERTERS.put(Short.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return TypeUtils.convertToObject(value, short.class, null);
}
}
});
TYPE_CONVERTERS.put(String.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if (value == null) {
return null;
} else {
return value;
}
}
});
TYPE_CONVERTERS.put(java.math.BigDecimal.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return new BigDecimal(value.trim());
}
}
});
TYPE_CONVERTERS.put(java.math.BigInteger.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return new BigInteger(value.trim());
}
}
});
TYPE_CONVERTERS.put(byte[].class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
return value.getBytes();
}
}
});
TYPE_CONVERTERS.put(Byte[].class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
} else {
byte[] bytes = value.getBytes();
Byte[] wBytes = new Byte[bytes.length];
for (int i = 0; i < bytes.length; i++) {
wBytes[i] = new Byte(bytes[i]);
}
return wBytes;
}
}
});
TYPE_CONVERTERS.put(Date.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
}
try {
if (locale == null) {
locale = Locale.getDefault();
}
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
return df.parse(value);
} catch (java.text.ParseException pe) {
String msg = "Caugnt an error converting a String to a DateFormat.SHORT formatted Date";
LOGGER.warn(msg, pe);
TypeConversionException tce = new TypeConversionException(msg, pe);
tce.setLocalizedMessage(Bundle.getString("TypeUtils_javaUtilDateConvertError",
new Object[] { pe.getMessage() }));
throw tce;
}
}
});
/* http://java.sun.com/j2se/1.4.1/docs/api/java/sql/Date.html */
TYPE_CONVERTERS.put(java.sql.Date.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
}
try {
return java.sql.Date.valueOf(value);
} catch (Exception e) {
String msg = "Caught an error converting a String to a java.sql.Date";
LOGGER.error(msg, e);
TypeConversionException tce = new TypeConversionException(msg, e);
tce.setLocalizedMessage(Bundle.getString("TypeUtils_javaSqlDateConvertError",
new Object[] { e.getMessage() }));
throw tce;
}
}
});
/* http://java.sun.com/j2se/1.4.1/docs/api/java/sql/Timestamp.html */
TYPE_CONVERTERS.put(java.sql.Timestamp.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
}
try {
return java.sql.Timestamp.valueOf(value);
} catch (Exception e) {
String msg = "Caught an error converting a String to a java.sql.Timestamp";
LOGGER.error(msg, e);
TypeConversionException tce = new TypeConversionException(msg, e);
tce.setLocalizedMessage(Bundle.getString("TypeUtils_javaSqlTimestampConvertError",
new Object[] { e.getMessage() }));
throw tce;
}
}
});
/* http://java.sun.com/j2se/1.4.1/docs/api/java/sql/Time.html */
TYPE_CONVERTERS.put(java.sql.Time.class,
new BaseTypeConverter() {
public Object convertToObject(Class type, String value, Locale locale) {
if ((value == null) || value.equals(EMPTY_STRING)) {
return null;
}
try {
return java.sql.Time.valueOf(value);
} catch (Exception e) {
String msg = "Caught an error converting a String to a java.sql.Time";
LOGGER.error(msg, e);
TypeConversionException tce = new TypeConversionException(msg, e);
tce.setLocalizedMessage(Bundle.getString("TypeUtils_javaSqlTimeConvertError",
new Object[] { e.getMessage() }));
throw tce;
}
}
});
}