in johnzon-mapper/src/main/java/org/apache/johnzon/mapper/map/LazyConverterMap.java [149:307]
private Adapter<?, ?> doLazyLookup(final AdapterKey key) {
final Type from = key.getFrom();
if (from == Date.class) {
return addDateConverter(key);
}
if (from == URI.class) {
return add(key, new ConverterAdapter<>(new URIConverter(), URI.class));
}
if (from == URL.class) {
return add(key, new ConverterAdapter<>(new URLConverter(), URL.class));
}
if (from == Class.class) {
return add(key, new ConverterAdapter<>(new ClassConverter(), Class.class));
}
if (from == String.class) {
return add(key, new ConverterAdapter<>(new StringConverter(), String.class));
}
if (from == BigDecimal.class && useBigIntegerStringAdapter) {
return add(key, new ConverterAdapter<>(new BigDecimalConverter(), BigDecimal.class));
}
if (from == BigInteger.class && useBigDecimalStringAdapter) {
return add(key, new ConverterAdapter<>(new BigIntegerConverter(), BigInteger.class));
}
if (from == Locale.class) {
return add(key, new LocaleConverter());
}
if (from == Period.class) {
return add(key, new ConverterAdapter<>(new Converter<Period>() {
@Override
public String toString(final Period instance) {
return instance.toString();
}
@Override
public Period fromString(final String text) {
return Period.parse(text);
}
}, Period.class));
}
if (from == Duration.class) {
return add(key, new ConverterAdapter<>(new Converter<Duration>() {
@Override
public String toString(final Duration instance) {
return instance.toString();
}
@Override
public Duration fromString(final String text) {
return Duration.parse(text);
}
}, Duration.class));
}
if (from == Calendar.class) {
return addCalendarConverter(key);
}
if (from == GregorianCalendar.class) {
return addGregorianCalendar(key);
}
if (from == TimeZone.class) {
return add(key, new ConverterAdapter<>(new Converter<TimeZone>() {
@Override
public String toString(final TimeZone instance) {
return instance.getID();
}
@Override
public TimeZone fromString(final String text) {
checkForDeprecatedTimeZone(text);
return TimeZone.getTimeZone(text);
}
}, TimeZone.class));
}
if (from == ZoneId.class) {
return add(key, new ConverterAdapter<>(new Converter<ZoneId>() {
@Override
public String toString(final ZoneId instance) {
return instance.getId();
}
@Override
public ZoneId fromString(final String text) {
return ZoneId.of(text);
}
}, ZoneId.class));
}
if (from == ZoneOffset.class) {
return add(key, new ConverterAdapter<>(new Converter<ZoneOffset>() {
@Override
public String toString(final ZoneOffset instance) {
return instance.getId();
}
@Override
public ZoneOffset fromString(final String text) {
return ZoneOffset.of(text);
}
}, ZoneOffset.class));
}
if (from == SimpleTimeZone.class) {
return add(key, new ConverterAdapter<>(new Converter<SimpleTimeZone>() {
@Override
public String toString(final SimpleTimeZone instance) {
return instance.getID();
}
@Override
public SimpleTimeZone fromString(final String text) {
checkForDeprecatedTimeZone(text);
final TimeZone timeZone = TimeZone.getTimeZone(text);
return new SimpleTimeZone(timeZone.getRawOffset(), timeZone.getID());
}
}, SimpleTimeZone.class));
}
if (from == Instant.class) {
return addInstantConverter(key);
}
if (from == LocalDate.class) {
return addLocalDateConverter(key);
}
if (from == LocalTime.class) {
return add(key, new ConverterAdapter<>(new Converter<LocalTime>() {
@Override
public String toString(final LocalTime instance) {
return instance.toString();
}
@Override
public LocalTime fromString(final String text) {
return LocalTime.parse(text);
}
}, LocalTime.class));
}
if (from == LocalDateTime.class) {
return addLocalDateTimeConverter(key);
}
if (from == ZonedDateTime.class) {
return addZonedDateTimeConverter(key);
}
if (from == OffsetDateTime.class) {
return addOffsetDateTimeConverter(key);
}
if (from == OffsetTime.class) {
return add(key, new ConverterAdapter<>(new Converter<OffsetTime>() {
@Override
public String toString(final OffsetTime instance) {
return instance.toString();
}
@Override
public OffsetTime fromString(final String text) {
return OffsetTime.parse(text);
}
}, OffsetTime.class));
}
if (from == UUID.class) {
return add(key, new ConverterAdapter<>(new UUIDConverter(), UUID.class));
}
return null;
}