Interface AuditService

All Known Implementing Classes:
AuditServiceProxy, SqaleAuditService

public interface AuditService
Service contract for audit - this can actually represent multiple audit services. This is implementation independent, but some features may not be supported by all implementations. For instance, supportsRetrieval() indicates whether audit supports searching, or just storing.
  • Field Details

  • Method Details

    • audit

      void audit(AuditEventRecord record, Task task, OperationResult parentResult)
      Emits audit event record, e.g. writes it in the database or logs it to a file. If audit is recorded to the repository, AuditEventRecord.repoId will be set, any provided ID is ignored. This is high-level audit method that also tries to complete the audit event record, e.g. filling in missing task information, current timestamp if none is provided, etc.
    • audit

      @Experimental void audit(AuditEventRecordType record, OperationResult parentResult)
      Emits audit event record provided as a generated Prism bean. Used for audit import functionality. This is a low-level audit method that does not process provided record at all.
    • cleanupAudit

      void cleanupAudit(CleanupPolicyType policy, OperationResult parentResult)
      Clean up audit records that are older than specified.
      Parameters:
      policy - Records will be deleted base on this policy.
    • supportsRetrieval

      boolean supportsRetrieval()
      Returns true if retrieval of objects from the audit trail is supported. This applies to listRecords, countObjects, reconstructObject and similar operations.
    • applyAuditConfiguration

      default void applyAuditConfiguration(@Nullable @Nullable SystemConfigurationAuditType configuration)
      Called when audit configuration is established or changed. Setting to null means to use default values for the settings.
    • countObjects

      int countObjects(@Nullable @Nullable ObjectQuery query, @Nullable @Nullable Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull OperationResult parentResult)
      Returns the number of audit events that match the specified query. If query is null or no filter in query is specified, count of all audit events is returned. Ignores any paging and ordering from the query.
      Parameters:
      query - search query
      parentResult - parent operation result (in/out)
      Returns:
      count of audit events of specified type that match the search criteria
    • searchObjects

      @NotNull @NotNull SearchResultList<AuditEventRecordType> searchObjects(@Nullable @Nullable ObjectQuery query, @Nullable @Nullable Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull OperationResult parentResult) throws SchemaException
      Returns the result list of audit events that match the specified query. If query is null or no filter in query is specified, all audit events are returned, subject to paging or internal sanity limit.
      Parameters:
      query - search query
      parentResult - parent operation result (in/out)
      Returns:
      list of audit events of specified type that match the search criteria
      Throws:
      SchemaException
    • searchObjectsIterative

      @Experimental SearchResultMetadata searchObjectsIterative(@Nullable @Nullable ObjectQuery query, @NotNull @NotNull AuditResultHandler handler, @Nullable @Nullable Collection<SelectorOptions<GetOperationOptions>> options, @NotNull @NotNull OperationResult parentResult) throws SchemaException
      Executes iterative search using the provided `handler` to process each object.
      Parameters:
      query - search query
      handler - result handler
      options - get options to use for the search
      parentResult - parent OperationResult (in/out)
      Returns:
      summary information about the search result
      Throws:
      SchemaException
    • getRepositoryDiag

      @NotNull @NotNull RepositoryDiag getRepositoryDiag()