package de.hsadmin.core.qserv;

import javax.persistence.EntityManager;

import de.hsadmin.core.model.AbstractEntity;

/**
 * Most processor factories need only these methods.
 * 
 * @author peter
 */
public interface EntityProcessorFactory {
	public <T extends AbstractEntity> Processor createCreateProcessor(EntityManager em,
			T entity) throws ProcessorException;

	public <T extends AbstractEntity> Processor createUpdateProcessor(EntityManager em,
			T newEntity) throws ProcessorException;

	public <T extends AbstractEntity> Processor createDeleteProcessor(EntityManager em,
			T entity) throws ProcessorException;

}
