package eu.dnetlib.enabling.aas.admin;

import java.io.OutputStream;

import eu.dnetlib.enabling.aas.ctx.SecurityContextContainerException;


/**
 * Administration of SecurityContextContainer.
 * @author mhorst
 *
 */
public interface ISecurityContextContainerAdministration {

	/**
	 * Fetches content of all buffered security contexts into output stream.
	 * @param output stream
	 * @throws SecurityContextContainerException 
	 */
	public void dumpBufferedSecCtxs(OutputStream out) throws SecurityContextContainerException;
	
	/**
	 * Invalidates cache by clearing security contexts.
	 */
	public void invalidateCache();
	
	/**
	 * Clears auxilary resources ids to secCtxs map, 
	 * invalidates cache and removes all secCtxs from IS.
	 * @throws SecurityContextContainerException 
	 */
	public void dropAllSecCtxs() throws SecurityContextContainerException;
}
