package eu.dnetlib.enabling.aas.holder;

/**
 * Data holder interface.
 * Allows sharing data for a processing flow between interceptors and core AAS.
 * @author mhorst
 *
 */
public interface IDataHolder<E> {

	/**
	 * Stores SAML data.
	 * @param data
	 */
	public abstract void storeData(E data);

	/**
	 * Returns SAML data.
	 * @return SAML data
	 */
	public abstract E getData();
	
	/**
	 * Removes SAML data from holder. Returns stored objects.
	 * @return removed SAML data
	 */
	public abstract E removeData();

}