具体来说,我想将我的 Source 类 ( PurchaseOrderFilterViewModel
) 中的 String 转换为org.joda.time.LocalDate
我的 Destination 类 ( PurchaseOrderFilter
) 中的一个。
我尝试PropertyMap<Source, Destination>
按照文档使用,但它不起作用。当 null 作为构造函数参数传入时,Destination 类中的日期总是分配给当前日期,这是默认的 LocalDate。
PurchaseOrderFilterViewModel purchaseOrderFilterViewModel1 = new PurchaseOrderFilterViewModel();
purchaseOrderFilterViewModel.setStartReceiptDate("2015-04-15");
purchaseOrderFilterViewModel.setEndReceiptDate("2015-04-17");
ModelMapper modelMapper = new ModelMapper();
modelMapper.createTypeMap(PurchaseOrderFilterViewModel.class, PurchaseOrderFilter.class);
modelMapper.addMappings(new PropertyMap<PurchaseOrderFilterViewModel, PurchaseOrderFilter>()
{
@Override
protected void configure()
{
map().setStartReceiptDate(new LocalDate(source.getStartReceiptDate()));
map().setEndReceiptDate(new LocalDate(source.getEndReceiptDate()));
}
});
PurchaseOrderFilter purchaseOrderFilter = modelMapper.map(purchaseOrderFilterViewModel, PurchaseOrderFilter.class);