public Set<ConvertiblePair> getConvertibleTypes() { return Collections.singleton(new ConvertiblePair(converter.getSourceClass(), converter.getTargetClass())); }
public Set<ConvertiblePair> getConvertibleTypes() { return Collections.singleton(new ConvertiblePair(converter.getSourceClass(), converter.getTargetClass())); }
/** * Add given converter to this conversion service. * @param converter the converter */ public void addConverter(Converter converter) { Class sourceClass = converter.getSourceClass(); Class targetClass = converter.getTargetClass(); Map sourceMap = getSourceMap(sourceClass); sourceMap.put(targetClass, converter); if (converter instanceof TwoWayConverter) { sourceMap = getSourceMap(targetClass); sourceMap.put(sourceClass, new ReverseConverter((TwoWayConverter) converter)); } }
targetClass = convertToWrapperClassIfNecessary(targetClass); if (converter.getSourceClass().isAssignableFrom(sourceClass)) { if (!converter.getTargetClass().isAssignableFrom(targetClass)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id + "' cannot convert from sourceClass [" } else if (converter.getTargetClass().isAssignableFrom(sourceClass) && converter instanceof TwoWayConverter) { if (!converter.getSourceClass().isAssignableFrom(targetClass)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass,
Class<?> targetComponentType = targetClass.getComponentType(); if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { if (!converter.getTargetClass().isAssignableFrom(targetComponentType)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id targetComponentType, converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToArray(elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; converter.getTargetClass(), converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; if (converter.getTargetClass().isAssignableFrom(targetComponentType)) { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter); && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getTargetClass(), targetComponentType, new ReverseConverter(twoWay)); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter));
Class<?> targetComponentType = targetClass.getComponentType(); if (converter.getSourceClass().isAssignableFrom(sourceComponentType)) { if (!converter.getTargetClass().isAssignableFrom(targetComponentType)) { throw new ConversionExecutorNotFoundException(sourceClass, targetClass, "Custom ConversionExecutor with id '" + id targetComponentType, converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToArray(elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; converter.getTargetClass(), converter); return new StaticConversionExecutor(sourceClass, targetClass, new ArrayToCollection( elementConverter)); } else if (converter.getTargetClass().isAssignableFrom(sourceComponentType) && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; if (converter.getTargetClass().isAssignableFrom(targetComponentType)) { ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getSourceClass(), targetComponentType, converter); && converter instanceof TwoWayConverter) { TwoWayConverter twoWay = (TwoWayConverter) converter; ConversionExecutor elementConverter = new StaticConversionExecutor(converter.getTargetClass(), targetComponentType, new ReverseConverter(twoWay)); Converter collectionToArray = new ReverseConverter(new ArrayToCollection(elementConverter));