/************************************************************************* * * * 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.enums.EventStatus; import org.cesecore.audit.enums.EventType; import org.cesecore.audit.enums.ModuleType; import org.cesecore.audit.enums.ServiceType; /** * Stored log dta that should be searchable should implement this interface. * * @version $Id: AuditLogEntry.java 17625 2013-09-20 07:12:06Z netmackan $ */ public interface AuditLogEntry { /* Database column names that AuditLogDevices might implement. Used to build custom queries. */ public static final String FIELD_TIMESTAMP = "timeStamp"; public static final String FIELD_EVENTTYPE = "eventType"; public static final String FIELD_EVENTSTATUS = "eventStatus"; public static final String FIELD_AUTHENTICATION_TOKEN = "authToken"; public static final String FIELD_SERVICE = "service"; public static final String FIELD_MODULE = "module"; public static final String FIELD_CUSTOM_ID = "customId"; public static final String FIELD_SEARCHABLE_DETAIL1 = "searchDetail1"; public static final String FIELD_SEARCHABLE_DETAIL2 = "searchDetail2"; public static final String FIELD_ADDITIONAL_DETAILS = "additionalDetails"; public static final String FIELD_SEQUENCENUMBER = "sequenceNumber"; public static final String FIELD_NODEID = "nodeId"; /** @return epoch GMT timestamp when log was created. */ Long getTimeStamp(); /** @return event type. @see EventTypes */ EventType getEventTypeValue(); /** @return event status. @see EventStatus */ EventStatus getEventStatusValue(); /** @return the authentication token that triggered the creation of a log. */ String getAuthToken(); /** @return service type. @see ServiceTypes */ ServiceType getServiceTypeValue(); /** @return module type. @see ModuleTypes */ ModuleType getModuleTypeValue(); /** @return a custom identifier (e.g. CA Id) */ String getCustomId(); /** @return searchable detail1 (e.g. certificate serialnumber)*/ String getSearchDetail1(); /** @return searchable detail2 (e.g. username) */ String getSearchDetail2(); /** @return map of additional (non-searchable) details. */ Map getMapAdditionalDetails(); /** @return log sequence number. */ Long getSequenceNumber(); /** @return node identifier to be used together with sequenceNumber. */ String getNodeId(); }