org.sfm.map.AbstractMapperImpl Maven / Gradle / Ivy
package org.sfm.map;
import org.sfm.reflect.Instantiator;
public abstract class AbstractMapperImpl implements Mapper {
private final Instantiator instantiator;
public AbstractMapperImpl(final Instantiator instantiator) {
this.instantiator = instantiator;
}
@Override
public final T map(final S source) throws MappingException {
try {
final T target = instantiator.newInstance(source);
mapFields(source, target);
return target;
} catch(Exception e) {
throw new MappingException(e.getMessage(), e);
}
}
protected abstract void mapFields(final S source, final T target) throws Exception;
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy