package ...; import org.modelmapper.Provider; import org.modelmapper.Provider.ProvisionRequest; import org.modelmapper.internal.util.Assert; import org.springframework.beans.factory.BeanFactory; public class EnhancedModelMapperSpringIntegration { private static class SpringProvider<S, D> implements Provider<D> { BeanFactory beanFactory; SourceBeanFactoryMapper<S, D> sourceBeanFactoryMapper; SpringProvider(BeanFactory beanFactory, SourceBeanFactoryMapper<S, D> sourceBeanFactoryMapper) { this.beanFactory = beanFactory; this.sourceBeanFactoryMapper = sourceBeanFactoryMapper; } @Override public D get(ProvisionRequest<D> request) { return sourceBeanFactoryMapper.map((S)request.getSource(), beanFactory); } } public static <S, D> Provider<?> fromSpring(BeanFactory beanFactory, SourceBeanFactoryMapper<S, D> sourceBeanFactoryMapper) { Assert.notNull(beanFactory); return new SpringProvider(beanFactory, sourceBeanFactoryMapper); } } package ...; import org.springframework.beans.factory.BeanFactory; public interface SourceBeanFactoryMapper<S, D> { D map(S s, BeanFactory beanFactory); }
Showing posts with label ModelMapper. Show all posts
Showing posts with label ModelMapper. Show all posts
Friday, July 25, 2014
ModelMapper Generic Spring Integration
The Spring integration provided by ModelMapper (http://modelmapper.org/user-manual/spring-integration/) as of now could be enhanced as below in order to provide capability to pass in a delegate interface to use during setup:
Subscribe to:
Posts (Atom)