private static void initialize()

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;
                    }
                }
            });
    }