@Override public boolean canConvert(Class<?> sourceType, Class<?> targetType) { if (sourceType.equals(targetType)) { return true; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return true; } } return ChainedConverter.canConvert(sourceType, targetType, converters); }
@Override @SuppressWarnings("unchecked") public <T> T convert(Object original, Class<?> sourceType, Class<T> targetType) { if (sourceType.equals(targetType)) { return (T) original; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return (T) converter.convert(original); } } ChainedConverter converter = ChainedConverter.calculateChain(sourceType, targetType, converters); converters.add(0, converter); return (T) converter.convert(original); }
@Override public boolean canConvert(Class<?> sourceType, Class<?> targetType) { if (sourceType.equals(targetType)) { return true; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return true; } } return ChainedConverter.canConvert(sourceType, targetType, converters); }
@Override public boolean canConvert(Class<?> sourceType, Class<?> targetType) { if (sourceType.equals(targetType)) { return true; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return true; } } return ChainedConverter.canConvert(sourceType, targetType, converters); }
@Override @SuppressWarnings("unchecked") public <T> T convert(Object original, Class<?> sourceType, Class<T> targetType) { if (sourceType.equals(targetType)) { return (T) original; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return (T) converter.convert(original); } } ChainedConverter converter = ChainedConverter.calculateChain(sourceType, targetType, converters); converters.add(0, converter); return (T) converter.convert(original); }
@Override @SuppressWarnings("unchecked") public <T> T convert(Object original, Class<?> sourceType, Class<T> targetType) { if (sourceType.equals(targetType)) { return (T) original; } for (ContentTypeConverter converter : converters) { if (canConvert(converter, sourceType, targetType)) { return (T) converter.convert(original); } } ChainedConverter converter = ChainedConverter.calculateChain(sourceType, targetType, converters); converters.add(0, converter); return (T) converter.convert(original); }