public static Object to()

in src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java [102:189]


    public static Object to(final Class<?> cls, final Object value, final DefaultConversionHandler convHandler) throws ConversionException {
        if (cls.isInstance(value)) {
            return value; // no conversion needed
        }

        if (String.class.equals(cls)) {
            return String.valueOf(value);
        }
        if (Boolean.class.equals(cls) || Boolean.TYPE.equals(cls)) {
            return toBoolean(value);
        }
        if (Character.class.equals(cls) || Character.TYPE.equals(cls)) {
            return toCharacter(value);
        }
        if (Number.class.isAssignableFrom(cls) || cls.isPrimitive()) {
            if (Integer.class.equals(cls) || Integer.TYPE.equals(cls)) {
                return toInteger(value);
            }
            if (Long.class.equals(cls) || Long.TYPE.equals(cls)) {
                return toLong(value);
            }
            if (Byte.class.equals(cls) || Byte.TYPE.equals(cls)) {
                return toByte(value);
            }
            if (Short.class.equals(cls) || Short.TYPE.equals(cls)) {
                return toShort(value);
            }
            if (Float.class.equals(cls) || Float.TYPE.equals(cls)) {
                return toFloat(value);
            }
            if (Double.class.equals(cls) || Double.TYPE.equals(cls)) {
                return toDouble(value);
            }
            if (BigInteger.class.equals(cls)) {
                return toBigInteger(value);
            }
            if (BigDecimal.class.equals(cls)) {
                return toBigDecimal(value);
            }
            return toNumber(value, cls);
        }
        if (Date.class.equals(cls)) {
            return toDate(value, convHandler.getDateFormat());
        }
        if (Calendar.class.equals(cls)) {
            return toCalendar(value, convHandler.getDateFormat());
        }
        if (File.class.equals(cls)) {
            return toFile(value);
        }
        if (Path.class.equals(cls)) {
            return toPath(value);
        }
        if (URI.class.equals(cls)) {
            return toURI(value);
        }
        if (URL.class.equals(cls)) {
            return toURL(value);
        }
        if (Pattern.class.equals(cls)) {
            return toPattern(value);
        }
        if (Locale.class.equals(cls)) {
            return toLocale(value);
        }
        if (cls.isEnum()) {
            return convertToEnum(cls, value);
        }
        if (Color.class.equals(cls)) {
            return toColor(value);
        }
        if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAVAX)) {
            // javamail-1.* With javax.mail.* namespace.
            return toInternetAddress(value, INTERNET_ADDRESS_CLASSNAME_JAVAX);
        }
        if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAKARTA)) {
            // javamail-2.0+, with jakarta.mail.* namespace.
            return toInternetAddress(value, INTERNET_ADDRESS_CLASSNAME_JAKARTA);
        }
        if (InetAddress.class.isAssignableFrom(cls)) {
            return toInetAddress(value);
        }
        if (Duration.class.equals(cls)) {
            return toDuration(value);
        }

        throw new ConversionException("The value '" + value + "' (" + value.getClass() + ")" + " can't be converted to a " + cls.getName() + " object");
    }