public static Class<?> findCustomConverter(Cache converterByDestTypeCache, CustomConverterContainer customConverterContainer, Class<?> srcClass, Class<?> destClass) { if (customConverterContainer == null) { return null; } return customConverterContainer.getCustomConverter(srcClass, destClass, converterByDestTypeCache); }
public DateFormat getDateFormat() { if (dateFormat == null) { dateFormat = determineDateFormat(); } return dateFormat; }
public CustomConverterBuilder classA(Class<?> type) { converterDescription.setClassA(type); return this; }
private Converter getPrimitiveOrWrapperConverter(Class destClass, DateFormatContainer dateFormatContainer) { if (String.class.equals(destClass)) { return new StringConverter(dateFormatContainer); } Converter result = CONVERTER_MAP.get(ClassUtils.primitiveToWrapper(destClass)); if (result == null) { if (java.util.Date.class.isAssignableFrom(destClass)) { result = new DateConverter(dateFormatContainer.getDateFormat()); } else if (Calendar.class.isAssignableFrom(destClass)) { result = new CalendarConverter(dateFormatContainer.getDateFormat()); } else if (XMLGregorianCalendar.class.isAssignableFrom(destClass)) { result = new XMLGregorianCalendarConverter(dateFormatContainer.getDateFormat()); } } return result == null ? new StringConstructorConverter(dateFormatContainer) : result; }
import org.dozer.converters.DateFormatContainer; import org.dozer.converters.PrimitiveOrWrapperConverter; public class DozerPrimitiveMapping { public static void main(String[] args) { PrimitiveOrWrapperConverter primitiveConverter = new PrimitiveOrWrapperConverter(); //DateFormatContainer is not needed in this String-to-Boolean use case, but the converter would throw an error if it was null DateFormatContainer dateFormatContainer = new DateFormatContainer(""); Boolean booleanResult= (Boolean) primitiveConverter.convert("true", Boolean.class, dateFormatContainer); System.out.println("Boolean result from dozer: "+booleanResult); } }
public CustomConverterBuilder customConverter(Class type) { converterDescription = new CustomConverterDescription(); converterDescription.setType(type); configuration.getCustomConverters().addConverter(converterDescription); return new CustomConverterBuilder(converterDescription); }
public Object convert(Object srcFieldValue, Class destFieldClass, DateFormatContainer dateFormatContainer) { if (srcFieldValue == null || destFieldClass == null || (srcFieldValue .equals("") && !destFieldClass.equals(String.class))) { return null; } Converter converter = getPrimitiveOrWrapperConverter(destFieldClass, dateFormatContainer); try { return converter.convert(destFieldClass, srcFieldValue); } catch (org.apache.commons.beanutils.ConversionException e) { throw new org.dozer.converters.ConversionException(e); } }
public CustomConverterBuilder classB(Class<?> type) { converterDescription.setClassB(type); return this; }
public Object convert(Class destClass, Object srcObj) { String result = (String) stringConverter.convert(destClass, srcObj); try { Constructor constructor = destClass.getConstructor(String.class); // TODO Check, but not catch return constructor.newInstance(result); } catch (NoSuchMethodException e) { // just return the string return result; } catch (Exception e) { throw new ConversionException(e); } }
public CustomConverterBuilder customConverter(CustomConverter customConverter) { converterDescription = new InstanceCustomConverterDescription(); ((InstanceCustomConverterDescription) converterDescription).setInstance(customConverter); return customConverter(converterDescription); }
public CustomConverterBuilder customConverter(Class<? extends CustomConverter> type) { converterDescription = new JavaClassCustomConverterDescription(); ((JavaClassCustomConverterDescription) converterDescription).setType(type); return customConverter(converterDescription); }
public StringConstructorConverter(DateFormatContainer dateFormatContainer) { this.stringConverter = new StringConverter(dateFormatContainer); }
private Converter getPrimitiveOrWrapperConverter(Class destClass, DateFormatContainer dateFormatContainer) { if (String.class.equals(destClass)) { return new StringConverter(dateFormatContainer); } Converter result = CONVERTER_MAP.get(ClassUtils.primitiveToWrapper(destClass)); if (result == null) { if (java.util.Date.class.isAssignableFrom(destClass)) { result = new DateConverter(dateFormatContainer.getDateFormat()); } else if (Calendar.class.isAssignableFrom(destClass) ) { result = new CalendarConverter(dateFormatContainer.getDateFormat()); } else if (XMLGregorianCalendar.class.isAssignableFrom(destClass)){ result = new XMLGregorianCalendarConverter(dateFormatContainer.getDateFormat()); } else if (MappingUtils.isEnumType(destClass)){ result = new EnumConverter(); } } return result == null ? new StringConstructorConverter(dateFormatContainer) : result; }
public Object convert(Object srcFieldValue, Class destFieldClass, DateFormatContainer dateFormatContainer) { if (srcFieldValue == null || destFieldClass == null || (srcFieldValue.equals("") && !destFieldClass.equals(String.class))) { return null; } Converter converter = getPrimitiveOrWrapperConverter(destFieldClass, dateFormatContainer); try { return converter.convert(destFieldClass, srcFieldValue); } catch (org.apache.commons.beanutils.ConversionException e) { throw new org.dozer.converters.ConversionException(e); } }
public CustomConverterBuilder classA(Class type) { converterDescription.setClassA(type); return this; }
public CustomConverterBuilder classB(Class type) { converterDescription.setClassB(type); return this; }
public DateFormat getDateFormat() { if (dateFormat == null) { dateFormat = determineDateFormat(); } return dateFormat; }
public StringConstructorConverter(DateFormatContainer dateFormatContainer) { this.stringConverter = new StringConverter(dateFormatContainer); }
public CustomConverterBuilder classA(Class<?> type) { converterDescription.setClassA(type); return this; }
public CustomConverterBuilder classB(Class<?> type) { converterDescription.setClassB(type); return this; }