@Override public void removeConvertible(Class<?> sourceType, Class<?> targetType) { this.converters.remove(sourceType, targetType); invalidateCache(); }
@Override public void addConverter(GenericConverter converter) { this.converters.add(converter); invalidateCache(); }
@Override public <T extends Enum> Converter<String, T> getConverter(Class<T> targetType) { return new StringToEnum(ConversionUtils.getEnumType(targetType)); }
@Before public void setup() { this.conversionService = new DefaultConversionService(); this.conversionService.addConverter(new ByteArrayToOtherTypeConverter()); this.conversionService.addConverter(new OtherTypeToByteArrayConverter()); }
/** * Create the ConversionService instance returned by this factory bean. * <p>Creates a simple {@link GenericConversionService} instance by default. * Subclasses may override to customize the ConversionService instance that * gets created. */ protected GenericConversionService createConversionService() { return new DefaultConversionService(); }
@Test public void testObjectArrayToStringArray() { conversionService.addConverter(new MyBaseInterfaceToStringConverter()); conversionService.addConverter(new ArrayToArrayConverter(conversionService)); String[] converted = conversionService.convert(new MyInterfaceImplementer[] {new MyInterfaceImplementer()}, String[].class); assertEquals("RESULT", converted[0]); }
@Test public void testInterfaceToString() { conversionService.addConverter(new MyBaseInterfaceToStringConverter()); conversionService.addConverter(new ObjectToStringConverter()); Object converted = conversionService.convert(new MyInterfaceImplementer(), String.class); assertEquals("RESULT", converted); }
@Test public void conditionalConverterFactory() { MyConditionalConverterFactory converter = new MyConditionalConverterFactory(); conversionService.addConverter(new ColorConverter()); conversionService.addConverterFactory(converter); assertEquals(Color.BLACK, conversionService.convert("#000000", Color.class)); assertTrue(converter.getMatchAttempts() > 0); assertTrue(converter.getNestedMatchAttempts() > 0); }
@Test public void conditionalConverter() { MyConditionalConverter converter = new MyConditionalConverter(); conversionService.addConverter(new ColorConverter()); conversionService.addConverter(converter); assertEquals(Color.BLACK, conversionService.convert("#000000", Color.class)); assertTrue(converter.getMatchAttempts() > 0); }
@Before public void setup() { this.conversionService.addConverter(new CollectionToCollectionConverter(this.conversionService)); this.conversionService.addConverter(new ArrayToCollectionConverter(this.conversionService)); this.conversionService.addConverter(new CollectionToArrayConverter(this.conversionService)); this.conversionService.addConverter(this.streamConverter); }
@Test public void testStringToEnumWithBaseInterfaceConversion() { conversionService.addConverterFactory(new StringToEnumConverterFactory()); conversionService.addConverterFactory(new StringToMyEnumBaseInterfaceConverterFactory()); assertEquals(MyEnum.A, conversionService.convert("base1", MyEnum.class)); }
@Test(expected = ConversionFailedException.class) public void convertWrongTypeArgument() { conversionService.addConverterFactory(new StringToNumberConverterFactory()); conversionService.convert("BOGUS", Integer.class); }
/** * Create a StandardTypeConverter for the default ConversionService. * @see DefaultConversionService#getSharedInstance() */ public StandardTypeConverter() { this.conversionService = DefaultConversionService.getSharedInstance(); }
/** * Create a new {@code DefaultConversionService} with the set of * {@linkplain DefaultConversionService#addDefaultConverters(ConverterRegistry) default converters}. */ public DefaultConversionService() { addDefaultConverters(this); }
@Override public <T extends Enum> Converter<Integer, T> getConverter(Class<T> targetType) { return new IntegerToEnum(ConversionUtils.getEnumType(targetType)); }
@Override public String convert(T source) { return source.getCode(); } }
@Override public OtherType convert(byte[] source) { return new OtherType(source); } }
public BeanFactoryTypeConverter() { synchronized (this) { if (defaultConversionService == null) { defaultConversionService = new DefaultConversionService(); } } this.conversionService = defaultConversionService; }
@Test public void testInterfaceArrayToStringArray() { conversionService.addConverter(new MyBaseInterfaceToStringConverter()); conversionService.addConverter(new ArrayToArrayConverter(conversionService)); String[] converted = conversionService.convert(new MyInterface[] {new MyInterfaceImplementer()}, String[].class); assertEquals("RESULT", converted[0]); }
/** * Create a new instance with a default {@link ConversionService}. */ public GenericMessageConverter() { this.conversionService = DefaultConversionService.getSharedInstance(); }