package net.rrm.ehour.backup.service.restore.structure; import net.rrm.ehour.domain.DomainObject; import java.io.Serializable; import java.lang.reflect.Field; import java.util.Map; public interface FieldProcessor { /** * Process the field by settting the @parsedColumnValue in the target object. When any @Embeddable is encountered, the instance * is either used from the embeddable cache or a new instance of the @Embeddable type is created and added to the cache. * * @param targetField * @param targetObject * @param embeddableCache * @param parsedColumnValue * @param <PK> * @param <T> * @throws IllegalAccessException * @throws InstantiationException */ <PK extends Serializable, T extends DomainObject<PK, ?>> void process(Field targetField, T targetObject, Map<Class<?>, Object> embeddableCache, Object parsedColumnValue) throws IllegalAccessException, InstantiationException; }