package edu.sjtu.infosec.ismp.manager.EM.comm;
import java.io.Serializable;
import java.util.List;
/**
* Manager.
*
*/
public interface Manager {
/**
* Expose the setDao method for testing purposes
* @param dao
* Dao
* @param dao
*/
void setDao(Dao dao);
/**
* Generic method used to get a all objects of a particular type.
* @param clazz
* the type of objects
* @return List of populated objects
*/
List getObjects(Class clazz);
/**
* Generic method to get an object based on class and identifier.
*
* @param clazz model class to lookup
* @param id the identifier (primary key) of the class
* @return a populated object
* @see org.springframework.orm.ObjectRetrievalFailureException
*/
Object getObject(Class clazz, Serializable id);
/**
* Generic method to save an object.
* @param o the object to save
*/
void saveObject(Object o);
/**
* Generic method to delete an object based on class and id
* @param clazz model class to lookup
* @param id the identifier of the class
*/
void removeObject(Class clazz, Serializable id);
}