org.cesecore.audit.AuditLogDevice Maven / Gradle / Ivy
/*************************************************************************
* *
* CESeCore: CE Security Core *
* *
* This software is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Lesser General Public *
* License as published by the Free Software Foundation; either *
* version 2.1 of the License, or any later version. *
* *
* See terms of license at gnu.org. *
* *
*************************************************************************/
package org.cesecore.audit;
import java.util.Map;
import org.cesecore.audit.log.AuditLogResetException;
/**
* Interface for Secure Audit Log device that can be logged to or read from.
*
* @version $Id: AuditLogDevice.java 17625 2013-09-20 07:12:06Z netmackan $
*/
public interface AuditLogDevice extends Auditable, AuditLogger {
/** Setter for the ejbs that the log devices can invoke.. */
void setEjbs(Map, ?> ejbs);
/** @return true if this device can respond to queries. */
boolean isSupportingQueries();
/**
* Prepares the secure audit log mechanism for reset.
* This method will block till all audit log processes are completed.
* Should be used with caution because once called audit log will not be operational.
* Any attempt to log will result in an exception.
*/
void prepareReset() throws AuditLogResetException;
/**
* Resets all security audit events logger internal state.
* Once this method finishes the audit log will be available again.
* This method should be used with caution.
*/
void reset() throws AuditLogResetException;
}