/** * Registers a {@link Converter} into the {@link ConverterFactory}. * * @param converter */ public void addConverter(final Converter<?, ?> converter) { factory.getConverterFactory().registerConverter(converter); }
/** * Registers a {@link Converter} into the {@link ConverterFactory}. * * @param converter */ public void addConverter(Converter<?, ?> converter) { factory.getConverterFactory().registerConverter(converter); }
@Provides @Singleton MapperFacade provideMapperFacade( MapperFactory factory, Set<BeanMapperConfig> configs ) { ConverterFactory converterFactory = factory.getConverterFactory(); converterFactory.registerConverter( new DateTimeToDateConverter() ); for ( BeanMapperConfig next : configs ) { next.config( factory ); } return factory.getMapperFacade(); }
@Test public void testIntegerToShortConverter() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new IntegerToShortConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Integer value = (int) Short.MAX_VALUE; Short result = mapper.map(value, Short.class); Assert.assertEquals(value.intValue(), result.intValue()); Integer reverse = mapper.map(result, Integer.class); Assert.assertEquals(result.intValue(), reverse.intValue()); }
@Test(expected = MappingException.class) public void testDoubleToLongConverter_overflow() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new DoubleToLongConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Double value = (double) Long.MAX_VALUE + 10000.0; Long result = mapper.map(value, Long.class); Assert.assertEquals(value.doubleValue(), result.doubleValue()); Double reverse = mapper.map(result, Double.class); Assert.assertEquals(result.doubleValue(), reverse.doubleValue()); }
@Test(expected = MappingException.class) public void testFloatToIntegerConverter_overflow() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FloatToIntegerConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Float value = ((float) Integer.MAX_VALUE) * 1.1f; Integer result = mapper.map(value, Integer.class); Assert.assertEquals(value.floatValue(), result.floatValue()); Float reverse = mapper.map(result, Float.class); Assert.assertEquals(result.floatValue(), reverse.floatValue()); }
@Test public void testDateToXmlGregorianCalendarConverter() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new DateToXmlGregorianCalendarConverter()); MapperFacade mapper = factory.getMapperFacade(); Date now = new Date(); XMLGregorianCalendar xml = mapper.map(now, XMLGregorianCalendar.class); Assert.assertEquals(now, xml.toGregorianCalendar().getTime()); Date reverse = mapper.map(xml, Date.class); Assert.assertEquals(now, reverse); }
@Test public void testLongToCalendarConverter() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new LongToCalendarConverter()); MapperFacade mapper = factory.getMapperFacade(); long now = System.currentTimeMillis(); Calendar cal = mapper.map(now, Calendar.class); Assert.assertEquals(now, cal.getTimeInMillis()); long reverse = mapper.map(cal, Long.class); Assert.assertEquals(now, reverse); }
@Test public void testConvertToWrapper() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FromStringConverter()); MapperFacade mapper = factory.getMapperFacade(); Integer age = mapper.map("21", Integer.class); Assert.assertEquals(Integer.valueOf(21), age); }
@Test public void testFloatToLongConverter() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FloatToLongConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Float value = (float) Long.MAX_VALUE; Long result = mapper.map(value, Long.class); Assert.assertEquals(value.floatValue(), result.floatValue()); Float reverse = mapper.map(result, Float.class); Assert.assertEquals(result.floatValue(), reverse.floatValue()); }
@Test(expected = MappingException.class) public void testFloatToShortConverter_overflow() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FloatToShortConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Float value = ((float) Short.MAX_VALUE) * 1.1f; Short result = mapper.map(value, Short.class); Assert.assertEquals(value.floatValue(), result.floatValue()); Float reverse = mapper.map(result, Float.class); Assert.assertEquals(result.floatValue(), reverse.floatValue()); }
@Test(expected = MappingException.class) public void testFloatToLongConverter_overflow() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FloatToLongConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Float value = ((float) Long.MAX_VALUE) * 1.1f; Long result = mapper.map(value, Long.class); Assert.assertEquals(value.floatValue(), result.floatValue()); Float reverse = mapper.map(result, Float.class); Assert.assertEquals(result.floatValue(), reverse.floatValue()); } }
@Test(expected = MappingException.class) public void testDoubleToShortConverter_overflow() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new DoubleToShortConverter(false)); MapperFacade mapper = factory.getMapperFacade(); Double value = (double) Short.MAX_VALUE + 1; Short result = mapper.map(value, Short.class); Assert.assertEquals(value.doubleValue(), result.doubleValue()); Double reverse = mapper.map(result, Double.class); Assert.assertEquals(result.doubleValue(), reverse.doubleValue()); }
@Test public void testConvertToEnum() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FromStringConverter()); MapperFacade mapper = factory.getMapperFacade(); Fruit fruit = mapper.map("TOMATO", Fruit.class); Assert.assertEquals(Fruit.TOMATO, fruit); }
@Test public void testConvertToPrimitive() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new FromStringConverter()); MapperFacade mapper = factory.getMapperFacade(); int age = mapper.map("21", int.class); Assert.assertEquals(21, age); }
private Converter<Object, Object> getConverter(FieldMap fieldMap, String converterId) { Converter<Object, Object> converter = null; ConverterFactory converterFactory = mapperFactory.getConverterFactory(); if (converterId != null) { converter = converterFactory.getConverter(converterId); } else { converter = converterFactory.getConverter(fieldMap.getSource().getType(), fieldMap.getDestination().getType()); } return converter; }
private Converter<Object, Object> getConverter(FieldMap fieldMap, String converterId) { Converter<Object, Object> converter = null; ConverterFactory converterFactory = mapperFactory.getConverterFactory(); if (converterId != null) { converter = converterFactory.getConverter(converterId); } else { converter = converterFactory.getConverter(fieldMap.getSource().getType(), fieldMap.getDestination().getType()); } return converter; } }
@Override public void configure(MapperFactory factory) { factory.registerClassMap(factory.classMap(MySourceObject.class, MyTargetObject.class).field("e", "directE") .toClassMap()); factory.getConverterFactory().registerConverter(new MyEnumConverter()); } };
protected void configure(MapperFactory mapperFactory) { mapperFactory.getConverterFactory().registerConverter(new CustomConverter<Address, String>() { public String convert(Address source, Type<? extends String> destinationType) { return source.getLine1() + " " + source.getLine2(); } }); ClassMapBuilder<Order, OrderDTO> classMapBuilder = ClassMapBuilder.map(Order.class, OrderDTO.class); classMapBuilder.fieldMap("customer.address", "shippingAddress").add(); mapperFactory.registerClassMap(classMapBuilder.byDefault().toClassMap()); }
@Test public void testConvertLongString() { MapperFactory factory = MappingUtil.getMapperFactory(); factory.getConverterFactory().registerConverter(new MyCustomConverter()); factory.classMap(A.class, B.class).field("id", "string").register(); A source = new A(); source.setId(42L); B destination = factory.getMapperFacade().map(source, B.class); Assert.assertEquals("long{42}", destination.getString()); }