public interface AuditEventHandler
DependencyProvider
to obtain dependencies from
the product within which the audit service is deployed. Where DependencyProvider is used, the dependencies
that it is expected to provide should be clearly documented.Modifier and Type | Method and Description |
---|---|
Set<String> |
getHandledTopics()
Gets the names of all audit event topics this handler is registered against.
|
String |
getName()
Gets the name of this audit event handler.
|
Promise<ActionResponse,ResourceException> |
handleAction(Context context,
String topic,
ActionRequest request)
Performs an action.
|
boolean |
isEnabled()
Checks if the audit event handler is enabled.
|
Promise<ResourceResponse,ResourceException> |
publishEvent(Context context,
String topic,
JsonValue event)
Publishes an event to the provided topic.
|
Promise<QueryResponse,ResourceException> |
queryEvents(Context context,
String topic,
QueryRequest query,
QueryResourceHandler handler)
Query some events from the provided topic.
|
Promise<ResourceResponse,ResourceException> |
readEvent(Context context,
String topic,
String resourceId)
Reads an event with the provided resource id from the provided topic.
|
void |
shutdown()
Instruct this object to flush any buffers and close any open file handles or network connections.
|
void |
startup()
Instruct this object that it is safe to initialize file handles and network connections.
|
void startup() throws ResourceException
AuditService
and its handlers is achieved by replacing
rather than modifying the existing objects. Therefore, it's essential that the replacements do not perform
any I/O that would interfere with the operation of the objects they are replacing until the old objects are
shutdown. For example, when shutting down an old instance of a file-based AuditEventHandler, the old instance
may need to flush buffers, apply file rotation or retention policies, or even add line or block signatures
as part of tamper evident logging. Any of these operations could be broken if two handler instances are
operating on the same set of files simultaneously.ResourceException
- if starting the AuditEventHandler failsvoid shutdown() throws ResourceException
ResourceException
- if closing the AuditEventHandler failsString getName()
Set<String> getHandledTopics()
Promise<ResourceResponse,ResourceException> publishEvent(Context context, String topic, JsonValue event)
context
- The context chain that initiated the event.topic
- The topic where to publish the event.event
- The event to publish.Promise<ResourceResponse,ResourceException> readEvent(Context context, String topic, String resourceId)
context
- The context chain that initiated the event.topic
- The topic where event is read.resourceId
- The identifier of the event.Promise<QueryResponse,ResourceException> queryEvents(Context context, String topic, QueryRequest query, QueryResourceHandler handler)
context
- The context chain that initiated the event.topic
- The topic on which query is performed.query
- The request with the query.handler
- The handler to process responses for the query.boolean isEnabled()
Promise<ActionResponse,ResourceException> handleAction(Context context, String topic, ActionRequest request)
context
- The context chain that initiated the event.topic
- The topic on which action is performed.request
- The request with the action.Copyright © 2025 Open Identity Platform Community. All rights reserved.