List of usage examples for org.springframework.core.convert.converter GenericConverter getConvertibleTypes
@Nullable Set<ConvertiblePair> getConvertibleTypes();
From source file:com.frank.search.solr.core.convert.CustomConversions.java
private void registerConversion(Object converter) { Class<?> type = converter.getClass(); boolean isWriting = type.isAnnotationPresent(WritingConverter.class); boolean isReading = type.isAnnotationPresent(ReadingConverter.class); if (!isReading && !isWriting) { isReading = true;// w ww. ja v a 2 s . co m isWriting = true; } if (converter instanceof GenericConverter) { GenericConverter genericConverter = (GenericConverter) converter; for (ConvertiblePair pair : genericConverter.getConvertibleTypes()) { register(new ConvertibleContext(pair, isReading, isWriting)); } } else if (converter instanceof Converter) { Class<?>[] arguments = GenericTypeResolver.resolveTypeArguments(converter.getClass(), Converter.class); register(new ConvertibleContext(arguments[0], arguments[1], isReading, isWriting)); } else { throw new IllegalArgumentException( "Unsupported Converter type! Expected either GenericConverter if Converter."); } }
From source file:io.twipple.springframework.data.clusterpoint.convert.support.CustomConversions.java
/** * Registers a conversion for the given converter. Inspects either generics or the convertible pairs returned * by a {@link GenericConverter}./*w ww .ja v a 2 s . c o m*/ * * @param converter the converter to register. */ private void registerConversion(@NotNull Object converter) { Assert.notNull(converter); Class<?> type = converter.getClass(); boolean isWriting = type.isAnnotationPresent(WritingConverter.class); boolean isReading = type.isAnnotationPresent(ReadingConverter.class); if (converter instanceof GenericConverter) { GenericConverter genericConverter = (GenericConverter) converter; for (GenericConverter.ConvertiblePair pair : genericConverter.getConvertibleTypes()) { register(new ConverterRegistration(pair, isReading, isWriting)); } } else if (converter instanceof Converter) { Class<?>[] arguments = GenericTypeResolver.resolveTypeArguments(converter.getClass(), Converter.class); register(new ConverterRegistration(arguments[0], arguments[1], isReading, isWriting)); } else { throw new IllegalArgumentException("Unsupported Converter type!"); } }
From source file:org.springframework.core.convert.support.GenericConversionService.java
public void addConverter(GenericConverter converter) { Set<GenericConverter.ConvertiblePair> convertibleTypes = converter.getConvertibleTypes(); for (GenericConverter.ConvertiblePair convertibleType : convertibleTypes) { getMatchableConverters(convertibleType.getSourceType(), convertibleType.getTargetType()).add(converter); }//from ww w .ja va 2 s . co m invalidateCache(); }
From source file:org.springframework.data.mongodb.core.convert.CustomConversions.java
/** * Registers a conversion for the given converter. Inspects either generics or the {@link ConvertiblePair}s returned * by a {@link GenericConverter}.//from w w w . j a va 2s . c o m * * @param converter */ private void registerConversion(Object converter) { Class<?> type = converter.getClass(); boolean isWriting = type.isAnnotationPresent(WritingConverter.class); boolean isReading = type.isAnnotationPresent(ReadingConverter.class); if (converter instanceof GenericConverter) { GenericConverter genericConverter = (GenericConverter) converter; for (ConvertiblePair pair : genericConverter.getConvertibleTypes()) { register(new ConverterRegistration(pair, isReading, isWriting)); } } else if (converter instanceof Converter) { Class<?>[] arguments = GenericTypeResolver.resolveTypeArguments(converter.getClass(), Converter.class); register(new ConverterRegistration(arguments[0], arguments[1], isReading, isWriting)); } else { throw new IllegalArgumentException("Unsupported Converter type!"); } }