in archaius2-core/src/main/java/com/netflix/archaius/converters/DefaultTypeConverterFactory.java [50:94]
private DefaultTypeConverterFactory() {
Map<Type, TypeConverter<?>> converters = new HashMap<>();
converters.put(String.class, Function.identity()::apply);
converters.put(boolean.class, DefaultTypeConverterFactory::convertBoolean);
converters.put(Boolean.class, DefaultTypeConverterFactory::convertBoolean);
converters.put(Integer.class, Lenient::parseInt);
converters.put(int.class, Lenient::parseInt);
converters.put(long.class, Lenient::parseLong);
converters.put(Long.class, Lenient::parseLong);
converters.put(short.class, Lenient::parseShort);
converters.put(Short.class, Lenient::parseShort);
converters.put(byte.class, Lenient::parseByte);
converters.put(Byte.class, Lenient::parseByte);
converters.put(double.class, Lenient::parseDouble);
converters.put(Double.class, Lenient::parseDouble);
converters.put(float.class, Lenient::parseFloat);
converters.put(Float.class, Lenient::parseFloat);
converters.put(BigInteger.class, BigInteger::new);
converters.put(BigDecimal.class, BigDecimal::new);
converters.put(AtomicInteger.class, v -> new AtomicInteger(Lenient.parseInt(v)));
converters.put(AtomicLong.class, v -> new AtomicLong(Lenient.parseLong(v)));
converters.put(Duration.class, Duration::parse);
converters.put(Period.class, Period::parse);
converters.put(LocalDateTime.class, LocalDateTime::parse);
converters.put(LocalDate.class, LocalDate::parse);
converters.put(LocalTime.class, LocalTime::parse);
converters.put(OffsetDateTime.class, OffsetDateTime::parse);
converters.put(OffsetTime.class, OffsetTime::parse);
converters.put(ZonedDateTime.class, ZonedDateTime::parse);
converters.put(Instant.class, v -> Instant.from(OffsetDateTime.parse(v)));
converters.put(Date.class, v -> new Date(Lenient.parseLong(v)));
converters.put(Currency.class, Currency::getInstance);
converters.put(URI.class, URI::create);
converters.put(Locale.class, Locale::forLanguageTag);
converters.put(BitSet.class, v -> {
try {
return BitSet.valueOf(Hex.decodeHex(v));
} catch (DecoderException e) {
throw new RuntimeException(e);
}
});
this.converters = Collections.unmodifiableMap(converters);
}