in src/main/java/org/apache/commons/configuration2/convert/PropertyConverter.java [95:167]
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);
}
} else if (Date.class.equals(cls)) {
return toDate(value, convHandler.getDateFormat());
} else if (Calendar.class.equals(cls)) {
return toCalendar(value, convHandler.getDateFormat());
} else if (File.class.equals(cls)) {
return toFile(value);
} else if (Path.class.equals(cls)) {
return toPath(value);
} else if (URI.class.equals(cls)) {
return toURI(value);
} else if (URL.class.equals(cls)) {
return toURL(value);
} else if (Pattern.class.equals(cls)) {
return toPattern(value);
} else if (Locale.class.equals(cls)) {
return toLocale(value);
} else if (isEnum(cls)) {
return convertToEnum(cls, value);
} else if (Color.class.equals(cls)) {
return toColor(value);
} else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAVAX)) {
// javamail-1.* With javax.mail.* namespace.
return toInternetAddress(value, INTERNET_ADDRESS_CLASSNAME_JAVAX);
} else if (cls.getName().equals(INTERNET_ADDRESS_CLASSNAME_JAKARTA)) {
// javamail-2.0+, with jakarta.mail.* namespace.
return toInternetAddress(value, INTERNET_ADDRESS_CLASSNAME_JAKARTA);
} else if (InetAddress.class.isAssignableFrom(cls)) {
return toInetAddress(value);
} else 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");
}