Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.ifs.server
Class AuditExecutor

    java.lang.Object
      oracle.ifs.server.AuditExecutor

Direct Known Subclasses:
  TieAuditExecutor

    public class AuditExecutor

extends java.lang.Object

An AuditExecutor performs audit event creation, search, and delete operations in SQL.

This class is used in a single-threaded manner by S_LibrarySession.

Nested Class Summary
`class` | `AuditExecutor.PreparedAuditFolderPath` A PreparedAuditFolderPath holds the folder path information that is used during event dispatch.
`class` | `AuditExecutor.PreparedRawAuditEvent` A PreparedRawAuditEvent holds an AuditEvent and additional information used to post a raw Audit event.

Field Summary
`static java.lang.String` | `AUDIT_CERTIFICATE_TABLE_NAME` The name of the audit certificate table.
`static java.lang.String` | `AUDIT_CUSTOM_OPCODE_TABLE_NAME` The name of the custom audit operaton code table.
`protected static java.lang.String` | `AUDIT_EVENT_COLUMNS` The SQL column list for audit events.
`static java.lang.String` | `AUDIT_EVENT_INLINE_STRING_TABLE_NAME` The name of the audit event inline String table.
`protected static java.lang.String` | `AUDIT_EVENT_INSERT_VALUES` The SQL bind list for audit events.
`static java.lang.String` | `AUDIT_EVENT_PROPERTY_TABLE_NAME` The name of the audit event property (auxilliary info) table.
`static java.lang.String` | `AUDIT_EVENT_PROPERTY_TABLE_PREFIX` The prefix to use for custom audit event property tables.
`static java.lang.String` | `AUDIT_EVENT_TABLE_NAME` The name of the audit event table.
`static java.lang.String` | `AUDIT_EVENT_TABLE_PREFIX` The prefix to use for custom audit event tables.
`static java.lang.String` | `AUDIT_EVENT_UNIONED_PROPERTY_VIEW` The name of the view that provides a unioned view across all audit event tables (including raw) of the active property IDs.
`static java.lang.String` | `AUDIT_EVENT_VIEW_NAME` The name of the default audit event view used for searches.
`static java.lang.String` | `AUDIT_EVENT_VIEW_PREFIX` The prefix to use for custom audit event views (used by search).
`protected static java.lang.String` | `AUDIT_FOLDER_PATH_COLUMNS` The SQL column list for the audit folder path table.
`protected static int` | `AUDIT_FOLDER_PATH_ENTRY_LIMIT` The limit of the number of items that are stored in the base table for an AuditFolderPath.
`protected static java.lang.String` | `AUDIT_FOLDER_PATH_INSERT_VALUES` The SQL bind list for the audit folder path table.
`static java.lang.String` | `AUDIT_FOLDER_PATH_OVERFLOW_TABLE_NAME` The name of the overflow audit folder path table.
`static java.lang.String` | `AUDIT_FOLDER_PATH_TABLE_NAME` The name of the main audit folder path table.
`static java.lang.String` | `AUDIT_NEXT_CUSTOM_OPCODE_TABLE_NAME` The name of the table that holds the next custom audit operaton code.
`static java.lang.String` | `AUDIT_OPTYPE_TABLE_NAME` The name of the audit operaton type table.
`static java.lang.String` | `AUDIT_TARGET_CODE_VIEW_NAME` The name of the audit target code view.
`protected static java.lang.String` | `COMMON_AUDIT_EVENT_COLUMNS` The SQL column list for columns common to both raw and dispatched audit events.
`protected static java.lang.String` | `COMMON_AUDIT_EVENT_INSERT_VALUES` The SQL bind list for columns common to both raw and dispatched audit events.
`protected static java.lang.String` | `CREATED_OPERATIONTYPE_MARKER` The string marker used to indicate that a registered operation type represents an operation that creates a new object.
`protected static long` | `DEFAULT_AUDIT_FOLDER_PATH_EXPIRATION_PERIOD` The default expiration period (in milliseconds) for an AuditFolderPath.
`protected static java.lang.String` | `FREED_OPERATIONTYPE_MARKER` The string marker used to indicate that a registered operation type represents an operation that frees an existing object.
`protected static int` | `JDBC_BATCH_SIZE_THRESHHOLD` The maximum number of SQL Statement executed in one batch when using JDBC batching.
`static int` | `MINIMUM_CUSTOM_OPERATION_CODE` The lowest custom operation code; defined in odmmain.sql as the initial value in table ODMZA_NEXTCUSTOMOPCODE.
`static int` | `OPERATION_TYPE_OFFSET` The offset of the operation code within an operation type.
`protected static java.lang.String` | `RAW_AUDIT_EVENT_COLUMNS` The SQL column list for RAW audit events.
`protected static java.lang.String` | `RAW_AUDIT_EVENT_INSERT_VALUES` The SQL bind list for RAW audit events.
`static java.lang.String` | `RAW_AUDIT_EVENT_TABLE_NAME` The name of the audit event table.

Constructor Summary
`protected` | `AuditExecutor()` Constructs an AuditExecutor.

Method Summary
`protected void` | `applyAuditCertificateName(S_LibrarySession session, AuditCertificate cert)` Apply current name of the target object referenced in an AuditCertificate.
`protected int` | `calculateOperationCode(int opType)` Calculate a numeric Operation code from a specified operation type.
`protected int` | `calculateOperationType(int targetCode, int opCode)` Calculate a numeric Operation type from a target code and operation code.
`protected AttributeValue` | `convertListToAttributeValue(java.util.List list, int dataType)` Convert the specified list to an AttributeValue that encapsulates an array of the corresponding type.
`protected long` | `createInlineString(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.lang.String inlineString)` Create a new inline String reference.
`protected void` | `deleteCertificate(S_LibrarySession session, long targetId)` Delete a certificate.
`protected void` | `deleteExpiredAuditFolderPaths(S_LibrarySession session, long expPeriod)` Delete any expired Audit folder paths, that have expired longer than the specified period.
`protected void` | `deleteExpiredGlobalAuditEvents(S_LibrarySession session, java.lang.Long domainId, java.lang.Long specId, java.lang.Long expPeriod)` Deletes expired audit events from global audit history.
`protected void` | `deleteUnusedAuditFolderPathOverflowEntries(S_LibrarySession session)` Delete any unused overflow entries for Audit folder paths.
`protected void` | `deleteUnusedAuditProperties(S_LibrarySession session)` Delete any unreferenced Audit event properties.
`protected java.lang.Long` | `extractObjectId(LibraryObjectInterface obj)` Extract ID from an object, which could be null.
`protected java.lang.Object` | `extractValueFromResultSet(java.sql.ResultSet rset, int position, int datatype)` Gets the selected value of the specified type.
`protected java.lang.String` | `findInlineString(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, long stringRef)` Find inline String by inline String reference.
`protected long` | `findInlineStringReference(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.lang.String inlineString)` Find inline String reference (sequence) by String value.
`protected AuditCertificate` | `findOrSelectAuditCertificate(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.lang.Long objectId)` Find or select AuditCertificate for the specified object ID.
`AuditCertificate[]` | `getAuditCertificates(S_LibrarySession session, java.lang.Long[] objectIds)` Select AuditCertificates for the specified object IDs.
`protected int` | `getAuditColumnDatatype(java.lang.String columnName)` Get the data type that matches the specified audit event column name.
`protected S_Folder` | `getAuditEventFolderContext(S_LibrarySession session, java.lang.Long targetId, java.lang.Long targetClassId)` Gets the folder context for the target of an Audit Event.
`protected long` | `getAuditFolderPathExpirationPeriod(S_LibrarySession session)` Get the expiration period to use for newly created AuditFolderPaths.
`protected AuditTargetCode` | `getAuditTargetCode(S_LibrarySession session, java.lang.String className)` Looks up an audit target code structure from the specified Class name or other registered alias for the desired type.
`protected AttributeValue[]` | `getAuditTypesForClass(S_LibrarySession session, java.lang.String className, boolean includeNested)` Gets the audit operation type values for a specified class name, optionally including any types that are applicable to a class that is considered a descendent of the specified class.
`protected AttributeValue[]` | `getAuditTypesForCreateOperations(S_LibrarySession session)` Gets the audit operation type values that correspond to "CREATED" operations.
`protected AttributeValue[]` | `getAuditTypesForFreeOperations(S_LibrarySession session)` Gets the audit operation type values that correspond to "FREE" operations.
`protected AttributeValue[]` | `getAuditTypesWithOperationMarker(S_LibrarySession session, java.lang.String marker)` Gets the audit operation type values that have a created or freed marker.
`protected AttributeValue[]` | `getCustomAuditTypes(S_LibrarySession session)` Gets the custom audit operation type values.
`protected long` | `getNextAuditId(S_LibrarySession session)` Gets the next available audit id value.
`protected long` | `getNextAuditId(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn)` Gets the next available audit id value.
`protected int` | `getOperationType(S_LibrarySession session, java.lang.String opTypeKey)` Get the numeric Operation type given an operation type key.
`protected java.lang.String` | `getOperationTypeKey(S_LibrarySession session, int opType)` Get the Operation type key given an operation type.
`protected java.lang.String` | `getSelectAggregateString(java.lang.Long auditSpec, java.lang.String viewName, java.lang.String[] selColumnNames, java.lang.String[] columnNames, java.lang.String[] innerColNames, java.lang.String filterClause, java.lang.String sortClause)` Gets the SQL string for selecting the list of distinct values along with an optional aggregate function.
`protected java.lang.String` | `getSelectString(java.lang.Long auditSpec, java.lang.String viewName, java.lang.String filterClause, java.lang.String sortClause)` Get the SQL select statement for an audit event search.
`protected java.lang.String` | `getSelectUnusedAuditTypeListsSql()` Gets the SQL to select unused Audit lists.
`protected void` | `handleAuditEventDispatchRequests(S_LibrarySession session, java.util.ArrayList reqList, java.lang.String tableName)` Handle a list of AuditEvent dispatch requests.
`protected void` | `insertCertificate(S_LibrarySession session, long targetId, long targetClassId, boolean freed, long createTime, long creatorId, long domainId, boolean secured, long freeTime, long deletorId, long tombstoneId, S_LibraryObject target, java.lang.String targetName, java.lang.String targetClassName)` Insert an audit certificate.
`protected void` | `insertCreateCertificate(S_LibrarySession session, long targetId, long targetClassId, long createTime, long creatorId, long domainId)` Insert a certificate for an object being created.
`protected void` | `insertFreeCertificate(S_LibrarySession session, long targetId, long targetClassId, long freeTime, long deletorId, long domainId)` Insert a certificate for an object being freed.
`protected void` | `invalidateAuditTypeMaps()` Invalidate the audit type maps cached in this session.
`protected boolean` | `isCreateOperation(S_LibrarySession session, int opType)` Returns true if the specified operation type reflects an object being created.
`protected boolean` | `isFreeOperation(S_LibrarySession session, int opType)` Returns true if the specified operation type reflects an object being freed.
`protected java.lang.String` | `lookupAuditEventOperationTypeKey(S_LibrarySession session, int opType)` Looks up audit event operation type key by its numeric value, returning the string key.
`protected java.lang.String[]` | `lookupAuditEventOperationTypeKeys(S_LibrarySession session, int[] opTypes)` Looks up audit event operation type keys by their numeric values, returning the string keys.
`protected int[]` | `lookupAuditEventOperationTypes(S_LibrarySession session, java.lang.String[] opTypeKeys)` Looks up audit event operation types by their string key, returning the corresponding numeric equivalents.
`protected AuditTargetCode` | `lookupAuditTargetCode(S_LibrarySession session, java.lang.String className)` Looks up an audit target code structure from the specified Class name or other registered alias for the desired type.
`protected void` | `postAuditCertificateChange(S_LibrarySession session, S_LibraryObject target)` Post an event that will invalidate any caching of audit certificate information for the specified object.
`protected void` | `postAuditEvent(S_LibrarySession session, AuditEvent event, int postMode)` Create an audit event.
`protected void` | `postAuditEventsUponCommit(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.util.List rawEventList)` Create audit events as a result of a normal completeTransaction occurring.
`protected void` | `postAuditTypeMapInvalidation(S_LibrarySession session)` Post an event that will invalidate the audit type maps cached in all sessions in all services.
`protected void` | `postFailedAuditEventsUponRollback(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.util.List rawEventList)` Create audit events as a result of a rollback operation occurring.
`protected int` | `registerAuditEventOperationType(S_LibrarySession session, java.lang.String opTypeKey, int targetCode, java.lang.String targetClass, int opCode, java.lang.Boolean createOrFree)` Register new operation type key.
`protected int` | `registerCustomAuditEventOperationCodeKey(S_LibrarySession session, java.lang.String opCodeKey)` Register new custom operation code key.
`protected void` | `removeAuditEvents(S_LibrarySession session, long[] ids, java.lang.String tableName)` Remove audit events.
`protected void` | `removeAuditEventsForTarget(S_LibrarySession session, java.lang.Long specId, java.lang.Long targetId)` Free audit events from a specific Audit history, by target ID.
`protected void` | `removeRawAuditEvents(S_LibrarySession session, RawAuditEvent[] rawEvents)` Remove raw audit events.
`AttributeValue[]` | `selectAggregateAuditEventColumns(S_LibrarySession session, java.lang.Long auditSpec, java.lang.String aggFunction, java.lang.String[] columnNames, java.lang.String[] innerColNames, java.lang.String filterClause, java.lang.String sortClause)` Returns the list of distinct values of the specified AuditEvent columns, along with an optional aggregate function.
`protected AuditCertificate` | `selectAuditCertificate(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, java.lang.Long objectId)` Select AuditCertificate for the specified object ID.
`protected AuditEvent[]` | `selectAuditEvents(S_LibrarySession session, java.lang.Long auditSpec, java.lang.String filterClause, java.lang.String sortClause, int maxItems)` Select audit events.
`protected AttributeValue[]` | `selectAuditProperties(S_LibrarySession session, LibraryConnection lconn, java.sql.Connection conn, long propId, java.lang.String propTblName)` Select all the properties stored for the specified property ID.
`protected AuditFolderPath` | `selectLatestAuditFolderPath(S_LibrarySession session, java.lang.Long folderId)` Select the latest AuditFolderPath for a folder.
`protected RawAuditEvent[]` | `selectRawAuditEvents(S_LibrarySession session, java.lang.String filterClause, int maxItems)` Select raw audit events.
`protected AuditFolderPath` | `selectSpecificAuditFolderPath(S_LibrarySession session, long folderPathId)` Select the specific AuditFolderPath for a given primary key.
`protected java.util.ArrayList` | `selectUnusedAuditTypeLists(S_LibrarySession session, long expPeriod)` Returns an ArrayList filled with ids of AuditTypeList objects that are ready for freeing.
`protected void` | `setLongInStatement(java.sql.PreparedStatement stmt, boolean isNull, int position, long value)` Set a long value into a PreparedStatement, handling nulls.
`protected void` | `setStringInStatement(java.sql.PreparedStatement stmt, int position, java.lang.String value)` Set a String value into a PreparedStatement, handling nulls.
`protected void` | `unregisterAuditEventOperationType(S_LibrarySession session, java.lang.String opTypeKey)` Unregister an operation type key.
`protected int` | `updateCertificateWithFreeInfo(S_LibrarySession session, long targetId, boolean secured, long freeTime, long deletorId, long tombstoneId, S_LibraryObject target, java.lang.String targetName, java.lang.String targetClassName)` Update an audit certificate to reflect a freed state.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### RAW_AUDIT_EVENT_TABLE_NAME

    public static final java.lang.String RAW_AUDIT_EVENT_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit event table.

  See Also:
    Constant Field Values

### AUDIT_EVENT_TABLE_NAME

    public static final java.lang.String AUDIT_EVENT_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit event table.

  See Also:
    Constant Field Values

### AUDIT_EVENT_PROPERTY_TABLE_NAME

    public static final java.lang.String AUDIT_EVENT_PROPERTY_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit event property (auxilliary info) table.

  See Also:
    Constant Field Values

### AUDIT_EVENT_UNIONED_PROPERTY_VIEW

    public static final java.lang.String AUDIT_EVENT_UNIONED_PROPERTY_VIEW

  Description copied from class: `AuditExecutor`
  The name of the view that provides a unioned view across all audit event tables (including raw) of the active property IDs.

  See Also:
    Constant Field Values

### AUDIT_EVENT_INLINE_STRING_TABLE_NAME

    public static final java.lang.String AUDIT_EVENT_INLINE_STRING_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit event inline String table.

  See Also:
    Constant Field Values

### AUDIT_OPTYPE_TABLE_NAME

    public static final java.lang.String AUDIT_OPTYPE_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit operaton type table.

  See Also:
    Constant Field Values

### AUDIT_TARGET_CODE_VIEW_NAME

    public static final java.lang.String AUDIT_TARGET_CODE_VIEW_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit target code view.

  See Also:
    Constant Field Values

### AUDIT_CUSTOM_OPCODE_TABLE_NAME

    public static final java.lang.String AUDIT_CUSTOM_OPCODE_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the custom audit operaton code table.

  See Also:
    Constant Field Values

### AUDIT_NEXT_CUSTOM_OPCODE_TABLE_NAME

    public static final java.lang.String AUDIT_NEXT_CUSTOM_OPCODE_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the table that holds the next custom audit operaton code.

  See Also:
    Constant Field Values

### AUDIT_FOLDER_PATH_TABLE_NAME

    public static final java.lang.String AUDIT_FOLDER_PATH_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the main audit folder path table.

  See Also:
    Constant Field Values

### AUDIT_FOLDER_PATH_OVERFLOW_TABLE_NAME

    public static final java.lang.String AUDIT_FOLDER_PATH_OVERFLOW_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the overflow audit folder path table.

  See Also:
    Constant Field Values

### AUDIT_CERTIFICATE_TABLE_NAME

    public static final java.lang.String AUDIT_CERTIFICATE_TABLE_NAME

  Description copied from class: `AuditExecutor`
  The name of the audit certificate table.

  See Also:
    Constant Field Values

### AUDIT_EVENT_TABLE_PREFIX

    public static final java.lang.String AUDIT_EVENT_TABLE_PREFIX

  Description copied from class: `AuditExecutor`
  The prefix to use for custom audit event tables.

  See Also:
    Constant Field Values

### AUDIT_EVENT_VIEW_PREFIX

    public static final java.lang.String AUDIT_EVENT_VIEW_PREFIX

  Description copied from class: `AuditExecutor`
  The prefix to use for custom audit event views (used by search).

  See Also:
    Constant Field Values

### AUDIT_EVENT_PROPERTY_TABLE_PREFIX

    public static final java.lang.String AUDIT_EVENT_PROPERTY_TABLE_PREFIX

  Description copied from class: `AuditExecutor`
  The prefix to use for custom audit event property tables.

  See Also:
    Constant Field Values

### AUDIT_EVENT_VIEW_NAME

    public static final java.lang.String AUDIT_EVENT_VIEW_NAME

  Description copied from class: `AuditExecutor`
  The name of the default audit event view used for searches.

  See Also:
    Constant Field Values

### COMMON_AUDIT_EVENT_COLUMNS

    protected static final java.lang.String COMMON_AUDIT_EVENT_COLUMNS

  Description copied from class: `AuditExecutor`
  The SQL column list for columns common to both raw and dispatched audit events.

  See Also:
    Constant Field Values

### COMMON_AUDIT_EVENT_INSERT_VALUES

    protected static final java.lang.String COMMON_AUDIT_EVENT_INSERT_VALUES

  Description copied from class: `AuditExecutor`
  The SQL bind list for columns common to both raw and dispatched audit events.

  See Also:
    Constant Field Values

### RAW_AUDIT_EVENT_COLUMNS

    protected static final java.lang.String RAW_AUDIT_EVENT_COLUMNS

  Description copied from class: `AuditExecutor`
  The SQL column list for RAW audit events. appended.

  Same as `COMMON_AUDIT_EVENT_COLUMNS`, with ", folderpathid, inobjecthistory" appended.

  See Also:
    Constant Field Values

### RAW_AUDIT_EVENT_INSERT_VALUES

    protected static final java.lang.String RAW_AUDIT_EVENT_INSERT_VALUES

  Description copied from class: `AuditExecutor`
  The SQL bind list for RAW audit events. Same as `COMMON_AUDIT_EVENT_INSERT_VALUES`, with three extra commas appended.

  See Also:
    Constant Field Values

### AUDIT_EVENT_COLUMNS

    protected static final java.lang.String AUDIT_EVENT_COLUMNS

  Description copied from class: `AuditExecutor`
  The SQL column list for audit events.

  Same as `COMMON_AUDIT_EVENT_COLUMNS`, with ", auditspecid" appended.

  See Also:
    Constant Field Values

### AUDIT_EVENT_INSERT_VALUES

    protected static final java.lang.String AUDIT_EVENT_INSERT_VALUES

  Description copied from class: `AuditExecutor`
  The SQL bind list for audit events.

  Same as `COMMON_AUDIT_EVENT_INSERT_VALUES`, with an extra comma appended.

  See Also:
    Constant Field Values

### AUDIT_FOLDER_PATH_COLUMNS

    protected static final java.lang.String AUDIT_FOLDER_PATH_COLUMNS

  Description copied from class: `AuditExecutor`
  The SQL column list for the audit folder path table.

  See Also:
    Constant Field Values

### AUDIT_FOLDER_PATH_INSERT_VALUES

    protected static final java.lang.String AUDIT_FOLDER_PATH_INSERT_VALUES

  Description copied from class: `AuditExecutor`
  The SQL bind list for the audit folder path table.

  Should be 24 commas, matching the length of AUDIT_FOLDER_PATH_COLUMNS.

  See Also:
    Constant Field Values

### AUDIT_FOLDER_PATH_ENTRY_LIMIT

    protected static final int AUDIT_FOLDER_PATH_ENTRY_LIMIT

  Description copied from class: `AuditExecutor`
  The limit of the number of items that are stored in the base table for an AuditFolderPath.

  If a path exceeds this limit, the remaining items are stored in the AuditFolderPath overflow table.

  See Also:
    Constant Field Values

### DEFAULT_AUDIT_FOLDER_PATH_EXPIRATION_PERIOD

    protected static final long DEFAULT_AUDIT_FOLDER_PATH_EXPIRATION_PERIOD

  Description copied from class: `AuditExecutor`
  The default expiration period (in milliseconds) for an AuditFolderPath.

  Defaults to 10 days.

  See Also:
    Constant Field Values

### CREATED_OPERATIONTYPE_MARKER

    protected static java.lang.String CREATED_OPERATIONTYPE_MARKER

  Description copied from class: `AuditExecutor`
  The string marker used to indicate that a registered operation type represents an operation that creates a new object.

### FREED_OPERATIONTYPE_MARKER

    protected static java.lang.String FREED_OPERATIONTYPE_MARKER

  Description copied from class: `AuditExecutor`
  The string marker used to indicate that a registered operation type represents an operation that frees an existing object.

### JDBC_BATCH_SIZE_THRESHHOLD

    protected static int JDBC_BATCH_SIZE_THRESHHOLD

  Description copied from class: `AuditExecutor`
  The maximum number of SQL Statement executed in one batch when using JDBC batching.

### OPERATION_TYPE_OFFSET

    public static int OPERATION_TYPE_OFFSET

  Description copied from class: `AuditExecutor`
  The offset of the operation code within an operation type.

### MINIMUM_CUSTOM_OPERATION_CODE

    public static int MINIMUM_CUSTOM_OPERATION_CODE

  Description copied from class: `AuditExecutor`
  The lowest custom operation code; defined in odmmain.sql as the initial value in table ODMZA_NEXTCUSTOMOPCODE.

Constructor Detail

### AuditExecutor

    protected AuditExecutor()
                     throws IfsException

  Constructs an AuditExecutor.

  Scope is protected to prevent constructing an instance of AuditExecutor to casually construct an AuditEvent for use in invoking `setPersistentData` on the AuditEvent to result in an AuditEvent that looks like it is persistent.

  Throws:
    `IfsException` - if the operation fails

Method Detail

### postAuditEvent

    protected void postAuditEvent(S_LibrarySession session,
                                  AuditEvent event,
                                  int postMode)
                           throws IfsException

  Description copied from class: `AuditExecutor`
  Create an audit event.

  Normal method for posting events.

  Parameters:
    `session` - the session
    `event` - the event to save
    `postMode` - how to post the event based on success/failure
  Throws:
    `IfsException` - if the operation fails

### postAuditEventsUponCommit

    protected void postAuditEventsUponCommit(S_LibrarySession session,
                                             LibraryConnection lconn,
                                             java.sql.Connection conn,
                                             java.util.List rawEventList)
                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Create audit events as a result of a normal completeTransaction occurring.

  This is called as a normal part of an completeTransaction operation, initiated from within `UncommittedLibraryObjectDataCache`.

  Parameters:
    `session` - the session
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `rawEventList` - the events to save (list of PreparedRawAuditEvent)
  Throws:
    `IfsException` - if the operation fails

### postFailedAuditEventsUponRollback

    protected void postFailedAuditEventsUponRollback(S_LibrarySession session,
                                                     LibraryConnection lconn,
                                                     java.sql.Connection conn,
                                                     java.util.List rawEventList)
                                              throws IfsException

  Description copied from class: `AuditExecutor`
  Create audit events as a result of a rollback operation occurring.

  This is called as a normal part of an abortTransaction operation, initiated from within `UncommittedLibraryObjectDataCache`.

  Parameters:
    `session` - the session
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `rawEventList` - the events to save (list of PreparedRawAuditEvent)
  Throws:
    `IfsException` - if the operation fails

### selectRawAuditEvents

    protected RawAuditEvent[] selectRawAuditEvents(S_LibrarySession session,
                                                   java.lang.String filterClause,
                                                   int maxItems)
                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Select raw audit events.

  Always sorts by ID.

  Parameters:
    `session` - the session context
    `filterClause` - the filter criteria (where clause)
    `maxItems` - max number of items to return
  Returns:
    the set of raw audit events
  Throws:
    `IfsException` - if the operation fails

### removeRawAuditEvents

    protected void removeRawAuditEvents(S_LibrarySession session,
                                        RawAuditEvent[] rawEvents)
                                 throws IfsException

  Description copied from class: `AuditExecutor`
  Remove raw audit events.

  Parameters:
    `session` - the session context
    `rawEvents` - array of events to free
  Throws:
    `IfsException` - if the operation fails

### handleAuditEventDispatchRequests

    protected void handleAuditEventDispatchRequests(S_LibrarySession session,
                                                    java.util.ArrayList reqList,
                                                    java.lang.String tableName)
                                             throws IfsException

  Description copied from class: `AuditExecutor`
  Handle a list of AuditEvent dispatch requests.

  Parameters:
    `session` - the session context
    `reqList` - a list of AuditEventDispatchRequest
    `tableName` - the table name where the events are to be stored
  Throws:
    `IfsException` - if the operation fails

### selectAuditEvents

    protected AuditEvent[] selectAuditEvents(S_LibrarySession session,
                                             java.lang.Long auditSpec,
                                             java.lang.String filterClause,
                                             java.lang.String sortClause,
                                             int maxItems)
                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Select audit events.

  Parameters:
    `session` - the session context
    `auditSpec` - the audit history ID to search
    `filterClause` - the filter criteria (where clause)
    `sortClause` - the sort criteria (order by clause)
    `maxItems` - max number of items to return
  Returns:
    the set of audit events
  Throws:
    `IfsException` - if the operation fails

### selectAggregateAuditEventColumns

    public AttributeValue[] selectAggregateAuditEventColumns(S_LibrarySession session,
                                                             java.lang.Long auditSpec,
                                                             java.lang.String aggFunction,
                                                             java.lang.String[] columnNames,
                                                             java.lang.String[] innerColNames,
                                                             java.lang.String filterClause,
                                                             java.lang.String sortClause)
                                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Returns the list of distinct values of the specified AuditEvent columns, along with an optional aggregate function.

  Parameters:
    `session` - the session context
    `auditSpec` - the audit history ID to search
    `aggFunction` - the SQL aggregate function (can be null)
    `columnNames` - the audit table column names to select
    `innerColNames` - the audit table column names to use in the inner select; if null, no inner select is used
    `filterClause` - the filter criteria (where clause)
    `sortClause` - the sort criteria (order by clause)
  Returns:
    the AttributeValues corresponding to the list of values of the specified aggregate function and the distinct values of the Event columns. The name of each AttributeValue corresponds to the aggregate function or specified AuditEvent column name; the value of the AttributeValue is an array of the appropriate datatype.
  Throws:
    `IfsException` - if the operation fails

### removeAuditEvents

    protected void removeAuditEvents(S_LibrarySession session,
                                     long[] ids,
                                     java.lang.String tableName)
                              throws IfsException

  Description copied from class: `AuditExecutor`
  Remove audit events.

  Parameters:
    `session` - the session context
    `ids` - array of event IDs
    `tableName` - the audit event table name
  Throws:
    `IfsException` - if the operation fails

### removeAuditEventsForTarget

    protected void removeAuditEventsForTarget(S_LibrarySession session,
                                              java.lang.Long specId,
                                              java.lang.Long targetId)
                                       throws IfsException

  Description copied from class: `AuditExecutor`
  Free audit events from a specific Audit history, by target ID.

  Parameters:
    `session` - the session context
    `specId` - the audit history identifier
    `targetId` - the target ID
  Throws:
    `IfsException` - if the operation fails

### deleteUnusedAuditProperties

    protected void deleteUnusedAuditProperties(S_LibrarySession session)
                                        throws IfsException

  Description copied from class: `AuditExecutor`
  Delete any unreferenced Audit event properties.

  Performed as a periodic cleanup task.

  Parameters:
    `session` - the session context
  Throws:
    `IfsException` - if the operation fails

### selectLatestAuditFolderPath

    protected AuditFolderPath selectLatestAuditFolderPath(S_LibrarySession session,
                                                          java.lang.Long folderId)
                                                   throws IfsException

  Description copied from class: `AuditExecutor`
  Select the latest AuditFolderPath for a folder.

  Parameters:
    `session` - the session context
    `folderId` - the folder ID of interest
  Returns:
    the latest AuditFolderPath for that folder
  Throws:
    `IfsException` - if the operation fails

### selectSpecificAuditFolderPath

    protected AuditFolderPath selectSpecificAuditFolderPath(S_LibrarySession session,
                                                            long folderPathId)
                                                     throws IfsException

  Description copied from class: `AuditExecutor`
  Select the specific AuditFolderPath for a given primary key.

  Parameters:
    `session` - the session context
    `folderPathId` - the folder path ID of interest
  Returns:
    the AuditFolderPath for that ID
  Throws:
    `IfsException` - if the operation fails

### deleteExpiredAuditFolderPaths

    protected void deleteExpiredAuditFolderPaths(S_LibrarySession session,
                                                 long expPeriod)
                                          throws IfsException

  Description copied from class: `AuditExecutor`
  Delete any expired Audit folder paths, that have expired longer than the specified period.

  Performed as a periodic cleanup task.

  Parameters:
    `session` - the session context
    `expPeriod` - the threshhold period in milliseconds; only AuditFolderPaths that have expired for longer than this period will be deleted
  Throws:
    `IfsException` - if the operation fails

### selectUnusedAuditTypeLists

    protected java.util.ArrayList selectUnusedAuditTypeLists(S_LibrarySession session,
                                                             long expPeriod)
                                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Returns an ArrayList filled with ids of AuditTypeList objects that are ready for freeing.

  Parameters:
    `session` - library session
    `expPeriod` - expiration period
  Returns:
    ArrayList of AuditTypeList ids
  Throws:
    `IfsException` - if the operation fails

### deleteUnusedAuditFolderPathOverflowEntries

    protected void deleteUnusedAuditFolderPathOverflowEntries(S_LibrarySession session)
                                                       throws IfsException

  Description copied from class: `AuditExecutor`
  Delete any unused overflow entries for Audit folder paths.

  Performed as a periodic cleanup task.

  Parameters:
    `session` - the session context
  Throws:
    `IfsException` - if the operation fails

### getAuditFolderPathExpirationPeriod

    protected long getAuditFolderPathExpirationPeriod(S_LibrarySession session)
                                               throws IfsException

  Description copied from class: `AuditExecutor`
  Get the expiration period to use for newly created AuditFolderPaths.

  Parameters:
    `session` - the session context
  Returns:
    the expiration period for the new AuditFolderPath
  Throws:
    `IfsException` - if the operation fails

### registerAuditEventOperationType

    protected int registerAuditEventOperationType(S_LibrarySession session,
                                                  java.lang.String opTypeKey,
                                                  int targetCode,
                                                  java.lang.String targetClass,
                                                  int opCode,
                                                  java.lang.Boolean createOrFree)
                                           throws IfsException

  Description copied from class: `AuditExecutor`
  Register new operation type key.

  Parameters:
    `session` - the session context
    `opTypeKey` - the string key for the operation type
    `targetCode` - the numeric code for the target item type
    `targetClass` - class name for the target object type
    `opCode` - the numeric code for the type of operation
    `createOrFree` - indication as to whther the operation is a Create (true) or Free (false) operation; should be null if neither
  Returns:
    the registered numeric operation type
  Throws:
    `IfsException` - if the operation fails

### unregisterAuditEventOperationType

    protected void unregisterAuditEventOperationType(S_LibrarySession session,
                                                     java.lang.String opTypeKey)
                                              throws IfsException

  Description copied from class: `AuditExecutor`
  Unregister an operation type key.

  Parameters:
    `session` - the session context
    `opTypeKey` - the string key for the operation type
  Throws:
    `IfsException` - if the operation fails

### lookupAuditEventOperationTypes

    protected int[] lookupAuditEventOperationTypes(S_LibrarySession session,
                                                   java.lang.String[] opTypeKeys)
                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Looks up audit event operation types by their string key, returning the corresponding numeric equivalents.

  Parameters:
    `session` - session context
    `opTypeKeys` - operation type keys
  Returns:
    the numeric equivalents; note the returned array could be shorter if any keys specified are not registered.
  Throws:
    `IfsException` - if the operation fails

### lookupAuditEventOperationTypeKeys

    protected java.lang.String[] lookupAuditEventOperationTypeKeys(S_LibrarySession session,
                                                                   int[] opTypes)
                                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Looks up audit event operation type keys by their numeric values, returning the string keys.

  Parameters:
    `session` - session context
    `opTypes` - numeric operation types
  Returns:
    the String key equivalents; note the returned array could be shorter if any specified types are not registered.
  Throws:
    `IfsException` - if the operation fails

### lookupAuditTargetCode

    protected AuditTargetCode lookupAuditTargetCode(S_LibrarySession session,
                                                    java.lang.String className)
                                             throws IfsException

  Description copied from class: `AuditExecutor`
  Looks up an audit target code structure from the specified Class name or other registered alias for the desired type.

  Parameters:
    `session` - session context
    `className` - class name associated with a registered audit target type
  Returns:
    the AuditTargetCode structure, or null if none found matching the specified class name
  Throws:
    `IfsException` - if the operation fails

### lookupAuditEventOperationTypeKey

    protected java.lang.String lookupAuditEventOperationTypeKey(S_LibrarySession session,
                                                                int opType)
                                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Looks up audit event operation type key by its numeric value, returning the string key.

  Parameters:
    `session` - session context
    `opType` - numeric operation type
  Returns:
    the String key equivalent; or null if the specified type is not registered
  Throws:
    `IfsException` - if the operation fails

### invalidateAuditTypeMaps

    protected void invalidateAuditTypeMaps()

  Description copied from class: `AuditExecutor`
  Invalidate the audit type maps cached in this session.

  Throws:
    `IfsException` - if the operation fails

### registerCustomAuditEventOperationCodeKey

    protected int registerCustomAuditEventOperationCodeKey(S_LibrarySession session,
                                                           java.lang.String opCodeKey)
                                                    throws IfsException

  Description copied from class: `AuditExecutor`
  Register new custom operation code key.

  This is done by customizers to register the suffix to be used for custom event opTypeKeys. For example, the operation code key "FAXED" might get registered, so that the custom event "DOCUMENT__FAXED" can get registered (double underscore is intentional, and is the convention for custom event keys).

  Note: if this key was previously registered, the value assigned in the previous registration is returned.

  Parameters:
    `session` - the session context
    `opCodeKey` - the string key for the operation code (e.g. "FAXED")
  Returns:
    the registered numeric operation code that corresponds to the specified key
  Throws:
    `IfsException` - if the operation fails

### getNextAuditId

    protected long getNextAuditId(S_LibrarySession session)
                           throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the next available audit id value.

  Parameters:
    `session` - the session context
  Returns:
    the next audit ID
  Throws:
    `IfsException` - if the operation fails

### getAuditCertificates

    public AuditCertificate[] getAuditCertificates(S_LibrarySession session,
                                                   java.lang.Long[] objectIds)
                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Select AuditCertificates for the specified object IDs.

  The array of certificates returned will be the same length as the specified set of object IDs, and in the same order as the corresponding IDs. The array may contain nulls when any of the following conditions are true:

  - if the ID value specified is 0
  - if the ID value specified references an object that does not exist, and for which a certificate does not exist

  Parameters:
    `session` - the session context
    `objectIds` - object IDs
  Returns:
    the requested certificates; may contain nulls
  Throws:
    `IfsException` - if the operation fails

### getNextAuditId

    protected long getNextAuditId(S_LibrarySession session,
                                  LibraryConnection lconn,
                                  java.sql.Connection conn)
                           throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the next available audit id value.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
  Returns:
    the next audit ID
  Throws:
    `IfsException` - if the operation fails

### setLongInStatement

    protected void setLongInStatement(java.sql.PreparedStatement stmt,
                                      boolean isNull,
                                      int position,
                                      long value)
                               throws java.sql.SQLException

  Description copied from class: `AuditExecutor`
  Set a long value into a PreparedStatement, handling nulls.

  Parameters:
    `stmt` - the prepared statement
    `isNull` - is the value null?
    `position` - position in the statement
    `value` - the long value
  Throws:
    `java.sql.SQLException` - if the operation fails

### setStringInStatement

    protected void setStringInStatement(java.sql.PreparedStatement stmt,
                                        int position,
                                        java.lang.String value)
                                 throws java.sql.SQLException

  Description copied from class: `AuditExecutor`
  Set a String value into a PreparedStatement, handling nulls.

  Parameters:
    `stmt` - the prepared statement
    `position` - position in the statement
    `value` - the String value
  Throws:
    `java.sql.SQLException` - if the operation fails

### extractValueFromResultSet

    protected java.lang.Object extractValueFromResultSet(java.sql.ResultSet rset,
                                                         int position,
                                                         int datatype)
                                                  throws java.sql.SQLException,
                                                         IfsException

  Description copied from class: `AuditExecutor`
  Gets the selected value of the specified type.

  The specified data type indicates the type of object to return.

  Parameters:
    `rset` - the result set
    `position` - the position
    `datatype` - the datatype of the value
  Returns:
    the value
  Throws:
    `IfsException` - if the operation fails
    `java.sql.SQLException`
  (Unpublished)

### getAuditColumnDatatype

    protected int getAuditColumnDatatype(java.lang.String columnName)
                                  throws IfsException

  Description copied from class: `AuditExecutor`
  Get the data type that matches the specified audit event column name.

  Parameters:
    `columnName` - the name of the audit event column
  Returns:
    the data type
  Throws:
    `IfsException` - if the operation fails

### convertListToAttributeValue

    protected AttributeValue convertListToAttributeValue(java.util.List list,
                                                         int dataType)
                                                  throws IfsException

  Description copied from class: `AuditExecutor`
  Convert the specified list to an AttributeValue that encapsulates an array of the corresponding type.

  Parameters:
    `list` - the list of values
    `dataType` - the datatype
  Returns:
    the array value represented as a AttributeValue
  Throws:
    `IfsException` - if the operation fails

### getAuditTypesForClass

    protected AttributeValue[] getAuditTypesForClass(S_LibrarySession session,
                                                     java.lang.String className,
                                                     boolean includeNested)
                                              throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the audit operation type values for a specified class name, optionally including any types that are applicable to a class that is considered a descendent of the specified class.

  The AttributeValues returned use the operation type key as the name, and the numeric operation type as the value.

  Parameters:
    `session` - the session context
    `className` - the class name of interest, force to upper case (e.g. FOLDER)
    `includeNested` - whether or not to include operations for classes that are descendents of the specified class
  Returns:
    the operation types that match
  Throws:
    `IfsException` - if the operation fails

### getAuditTypesForCreateOperations

    protected AttributeValue[] getAuditTypesForCreateOperations(S_LibrarySession session)
                                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the audit operation type values that correspond to "CREATED" operations.

  Used to indicate when an object has been created simply by inspecting event types.

  Parameters:
    `session` - the session context
  Returns:
    the operation types for create operations
  Throws:
    `IfsException` - if the operation fails

### getAuditTypesForFreeOperations

    protected AttributeValue[] getAuditTypesForFreeOperations(S_LibrarySession session)
                                                       throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the audit operation type values that correspond to "FREE" operations.

  Used to indicate when an object has been freed simply by inspecting event types.

  Parameters:
    `session` - the session context
  Returns:
    the operation types for free operations
  Throws:
    `IfsException` - if the operation fails

### getCustomAuditTypes

    protected AttributeValue[] getCustomAuditTypes(S_LibrarySession session)
                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the custom audit operation type values.

  Parameters:
    `session` - the session context
  Returns:
    the custom operation types
  Throws:
    `IfsException` - if the operation fails

### getAuditTypesWithOperationMarker

    protected AttributeValue[] getAuditTypesWithOperationMarker(S_LibrarySession session,
                                                                java.lang.String marker)
                                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the audit operation type values that have a created or freed marker.

  Parameters:
    `session` - the session context
    `marker` - the CREATED or FREED marker
  Returns:
    the operation types for create operations
  Throws:
    `IfsException` - if the operation fails

### getSelectString

    protected java.lang.String getSelectString(java.lang.Long auditSpec,
                                               java.lang.String viewName,
                                               java.lang.String filterClause,
                                               java.lang.String sortClause)

  Description copied from class: `AuditExecutor`
  Get the SQL select statement for an audit event search.

  Parameters:
    `auditSpec` - the new audit history ID
    `viewName` - the view name to select from
    `filterClause` - The where clause criteria (does not include "where")
    `sortClause` - The sort clause criteria (does not include "order by)
  Returns:
    the SQL string

### getSelectAggregateString

    protected java.lang.String getSelectAggregateString(java.lang.Long auditSpec,
                                                        java.lang.String viewName,
                                                        java.lang.String[] selColumnNames,
                                                        java.lang.String[] columnNames,
                                                        java.lang.String[] innerColNames,
                                                        java.lang.String filterClause,
                                                        java.lang.String sortClause)

  Description copied from class: `AuditExecutor`
  Gets the SQL string for selecting the list of distinct values along with an optional aggregate function.

  Parameters:
    `auditSpec` - the audit history ID to search
    `viewName` - the event table to select from
    `selColumnNames` - the selected columns; may include aggregate function prepended; array length be > 0
    `columnNames` - the audit table column names to select and group by
    `innerColNames` - the audit table column names to use in the inner select and inner group by; if null, no inner select is used
    `filterClause` - the filter criteria (where clause)
    `sortClause` - the sort criteria (order by clause)
  Returns:
    the SQL string to use
  Throws:
    `IfsException` - if the operation fails

### selectAuditProperties

    protected AttributeValue[] selectAuditProperties(S_LibrarySession session,
                                                     LibraryConnection lconn,
                                                     java.sql.Connection conn,
                                                     long propId,
                                                     java.lang.String propTblName)
                                              throws IfsException

  Description copied from class: `AuditExecutor`
  Select all the properties stored for the specified property ID.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `propId` - the property ID
    `propTblName` - the property table name
  Returns:
    the properties stored with the specified property ID
  Throws:
    `IfsException` - if the operation fails

### findInlineStringReference

    protected long findInlineStringReference(S_LibrarySession session,
                                             LibraryConnection lconn,
                                             java.sql.Connection conn,
                                             java.lang.String inlineString)
                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Find inline String reference (sequence) by String value.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `inlineString` - the inline String value
  Returns:
    the inline String reference, or 0 if the String specified is null
  Throws:
    `IfsException` - if the operation fails

### findInlineString

    protected java.lang.String findInlineString(S_LibrarySession session,
                                                LibraryConnection lconn,
                                                java.sql.Connection conn,
                                                long stringRef)
                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Find inline String by inline String reference.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `stringRef` - the inline String reference
  Returns:
    the inline String, or null if String reference is 0 or is not defined
  Throws:
    `IfsException` - if the operation fails

### createInlineString

    protected long createInlineString(S_LibrarySession session,
                                      LibraryConnection lconn,
                                      java.sql.Connection conn,
                                      java.lang.String inlineString)
                               throws IfsException

  Description copied from class: `AuditExecutor`
  Create a new inline String reference.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `inlineString` - the inline String value
  Returns:
    the inline String reference, or 0 if the String specified is null
  Throws:
    `IfsException` - if the operation fails

### insertCreateCertificate

    protected void insertCreateCertificate(S_LibrarySession session,
                                           long targetId,
                                           long targetClassId,
                                           long createTime,
                                           long creatorId,
                                           long domainId)
                                    throws IfsException

  Description copied from class: `AuditExecutor`
  Insert a certificate for an object being created.

  Parameters:
    `session` - the session context
    `targetId` - the target object ID
    `targetClassId` - the target object's class ID
    `createTime` - the time the new object is created
    `creatorId` - the user ID creating the new object
    `domainId` - the domain ID
  Throws:
    `IfsException` - if the operation fails

### insertFreeCertificate

    protected void insertFreeCertificate(S_LibrarySession session,
                                         long targetId,
                                         long targetClassId,
                                         long freeTime,
                                         long deletorId,
                                         long domainId)
                                  throws IfsException

  Description copied from class: `AuditExecutor`
  Insert a certificate for an object being freed.

  Parameters:
    `session` - the session context
    `targetId` - the target object ID
    `targetClassId` - the target object's class ID
    `freeTime` - the time the object is freed
    `deletorId` - the user ID freeing the object
    `domainId` - the domain ID
  Throws:
    `IfsException` - if the operation fails

### insertCertificate

    protected void insertCertificate(S_LibrarySession session,
                                     long targetId,
                                     long targetClassId,
                                     boolean freed,
                                     long createTime,
                                     long creatorId,
                                     long domainId,
                                     boolean secured,
                                     long freeTime,
                                     long deletorId,
                                     long tombstoneId,
                                     S_LibraryObject target,
                                     java.lang.String targetName,
                                     java.lang.String targetClassName)
                              throws IfsException

  Description copied from class: `AuditExecutor`
  Insert an audit certificate.

  Parameters:
    `session` - the session context
    `targetId` - the target object ID
    `targetClassId` - the target object's class ID
    `freed` - true if the certificate is to reflect a freed state
    `createTime` - the time the new object is created
    `creatorId` - the user ID creating the new object
    `domainId` - the domain ID
    `secured` - whether the certificate can only be viewed by administrators
    `freeTime` - the time the object was freed
    `deletorId` - the user ID freeing the object
    `tombstoneId` - the tombtone ID created for the freed object
    `target` - the target object
    `targetName` - the name of the target object
    `targetClassName` - the name of the target object's class
  Throws:
    `IfsException` - if the operation fails

### updateCertificateWithFreeInfo

    protected int updateCertificateWithFreeInfo(S_LibrarySession session,
                                                long targetId,
                                                boolean secured,
                                                long freeTime,
                                                long deletorId,
                                                long tombstoneId,
                                                S_LibraryObject target,
                                                java.lang.String targetName,
                                                java.lang.String targetClassName)
                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Update an audit certificate to reflect a freed state.

  Parameters:
    `session` - the session context
    `targetId` - the target object ID
    `secured` - whether the certificate can only be viewed by administrators
    `freeTime` - the time the object was freed
    `deletorId` - the user ID freeing the object
    `tombstoneId` - the tombtone ID created for the freed object
    `target` - the target object
    `targetName` - the name of the target object
    `targetClassName` - the name of the target object's class
  Returns:
    the number of rows affected by the update
  Throws:
    `IfsException` - if the operation fails

### findOrSelectAuditCertificate

    protected AuditCertificate findOrSelectAuditCertificate(S_LibrarySession session,
                                                            LibraryConnection lconn,
                                                            java.sql.Connection conn,
                                                            java.lang.Long objectId)
                                                     throws IfsException

  Description copied from class: `AuditExecutor`
  Find or select AuditCertificate for the specified object ID.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `objectId` - the object ID
  Returns:
    the certificate for the object ID specified
  Throws:
    `IfsException` - if the operation fails

### selectAuditCertificate

    protected AuditCertificate selectAuditCertificate(S_LibrarySession session,
                                                      LibraryConnection lconn,
                                                      java.sql.Connection conn,
                                                      java.lang.Long objectId)
                                               throws IfsException

  Description copied from class: `AuditExecutor`
  Select AuditCertificate for the specified object ID.

  Parameters:
    `session` - the session context
    `lconn` - the repos connection
    `conn` - the JDBC connection
    `objectId` - the object ID
  Returns:
    the certificate for the object ID specified
  Throws:
    `IfsException` - if the operation fails

### applyAuditCertificateName

    protected void applyAuditCertificateName(S_LibrarySession session,
                                             AuditCertificate cert)
                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Apply current name of the target object referenced in an AuditCertificate.

  Only has an effect if the certificate is for a non-freed object.

  Parameters:
    `session` - the session context
    `cert` - the AuditCertificate
  Throws:
    `IfsException` - if the operation fails

### deleteCertificate

    protected void deleteCertificate(S_LibrarySession session,
                                     long targetId)
                              throws IfsException

  Description copied from class: `AuditExecutor`
  Delete a certificate.

  Parameters:
    `session` - the session context
    `targetId` - the target ID
  Throws:
    `IfsException` - if the operation fails

### deleteExpiredGlobalAuditEvents

    protected void deleteExpiredGlobalAuditEvents(S_LibrarySession session,
                                                  java.lang.Long domainId,
                                                  java.lang.Long specId,
                                                  java.lang.Long expPeriod)
                                           throws IfsException

  Description copied from class: `AuditExecutor`
  Deletes expired audit events from global audit history.

  Parameters:
    `session` - session context
    `domainId` - id of the domain to work on
    `specId` - id of the domain to work on
    `expPeriod` - time since object freeing the event should remain; if null, no expiration
  Throws:
    `IfsException` - if the operation fails

### postAuditCertificateChange

    protected void postAuditCertificateChange(S_LibrarySession session,
                                              S_LibraryObject target)
                                       throws IfsException

  Description copied from class: `AuditExecutor`
  Post an event that will invalidate any caching of audit certificate information for the specified object.

  Parameters:
    `session` - the session context
    `target` - the target object
  Throws:
    `IfsException` - if the operation fails

### getSelectUnusedAuditTypeListsSql

    protected java.lang.String getSelectUnusedAuditTypeListsSql()
                                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the SQL to select unused Audit lists.

  The SQL text must define one bind variable, which will be set to the System.currentTimeMillis() - .

  Returns:
    the SQL text for selecting unused AuditTypeLists
  Throws:
    `IfsException` - if the operation fails

### postAuditTypeMapInvalidation

    protected void postAuditTypeMapInvalidation(S_LibrarySession session)
                                         throws IfsException

  Description copied from class: `AuditExecutor`
  Post an event that will invalidate the audit type maps cached in all sessions in all services.

  Parameters:
    `session` - the session context
  Throws:
    `IfsException` - if the operation fails

### getOperationTypeKey

    protected java.lang.String getOperationTypeKey(S_LibrarySession session,
                                                   int opType)
                                            throws IfsException

  Description copied from class: `AuditExecutor`
  Get the Operation type key given an operation type.

  Parameters:
    `session` - the session context
    `opType` - the numeric operation type
  Returns:
    the operation type key
  Throws:
    `IfsException` - if the operation fails

### getOperationType

    protected int getOperationType(S_LibrarySession session,
                                   java.lang.String opTypeKey)
                            throws IfsException

  Description copied from class: `AuditExecutor`
  Get the numeric Operation type given an operation type key.

  Parameters:
    `session` - the session context
    `opTypeKey` - the operation type key
  Returns:
    the numeric operation type
  Throws:
    `IfsException` - if the operation fails

### calculateOperationType

    protected int calculateOperationType(int targetCode,
                                         int opCode)

  Description copied from class: `AuditExecutor`
  Calculate a numeric Operation type from a target code and operation code.

  Parameters:
    `targetCode` - target code
    `opCode` - operation code
  Returns:
    the computed Operation type

### calculateOperationCode

    protected int calculateOperationCode(int opType)

  Description copied from class: `AuditExecutor`
  Calculate a numeric Operation code from a specified operation type.

  Parameters:
    `opType` - Operation type
  Returns:
    the computed Operation code

### isCreateOperation

    protected boolean isCreateOperation(S_LibrarySession session,
                                        int opType)
                                 throws IfsException

  Description copied from class: `AuditExecutor`
  Returns true if the specified operation type reflects an object being created.

  Parameters:
    `session` - the session context
    `opType` - operation type
  Returns:
    true if operation type represents a create operation; false otherwise
  Throws:
    `IfsException` - if the operation fails

### isFreeOperation

    protected boolean isFreeOperation(S_LibrarySession session,
                                      int opType)
                               throws IfsException

  Description copied from class: `AuditExecutor`
  Returns true if the specified operation type reflects an object being freed.

  Parameters:
    `session` - the session context
    `opType` - operation type
  Returns:
    true if operation type represents a free operation; false otherwise
  Throws:
    `IfsException` - if the operation fails

### getAuditTargetCode

    protected AuditTargetCode getAuditTargetCode(S_LibrarySession session,
                                                 java.lang.String className)
                                          throws IfsException

  Description copied from class: `AuditExecutor`
  Looks up an audit target code structure from the specified Class name or other registered alias for the desired type.

  Parameters:
    `session` - session context
    `className` - class name associated with a registered audit target type
  Returns:
    the AuditTargetCode structure, or null if none found matching the specified class name
  Throws:
    `IfsException` - if the operation fails

### getAuditEventFolderContext

    protected S_Folder getAuditEventFolderContext(S_LibrarySession session,
                                                  java.lang.Long targetId,
                                                  java.lang.Long targetClassId)
                                           throws IfsException

  Description copied from class: `AuditExecutor`
  Gets the folder context for the target of an Audit Event.

  Parameters:
    `session` - the session context
    `targetId` - the target object's ID
    `targetClassId` - the target object's Class ID
  Returns:
    the folder context for the target
  Throws:
    `IfsException` - if the operation fails

### extractObjectId

    protected java.lang.Long extractObjectId(LibraryObjectInterface obj)
                                      throws IfsException

  Description copied from class: `AuditExecutor`
  Extract ID from an object, which could be null.

  Parameters:
    `obj` - the object
  Returns:
    its ID or 0L if the object is null or has a null ID
  Throws:
    `IfsException` - if the operation fails

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD