Interface AuditStrategy<T extends AuditDataset>

All Known Implementing Classes:
AbstractFhirAuditStrategy, AuditStrategySupport, ChAdrAuditStrategy, ChPpq1AuditStrategy, ChPpq1ClientAuditStrategy, ChPpq1ServerAuditStrategy, ChPpq2AuditStrategy, FhirAuditStrategy, FhirQueryAuditStrategy, GenericFhirAuditStrategy, Hl7v3AuditStrategy, Iti105AuditStrategy, Iti105ClientAuditStrategy, Iti105ServerAuditStrategy, Iti10AuditStrategy, Iti18AuditStrategy, Iti21AuditStrategy, Iti22AuditStrategy, Iti30AuditStrategy, Iti31AuditStrategy, Iti38AuditStrategy, Iti39ClientAuditStrategy, Iti39ServerAuditStrategy, Iti41ClientAuditStrategy, Iti41ServerAuditStrategy, Iti42ClientAuditStrategy, Iti42ServerAuditStrategy, Iti43ClientAuditStrategy, Iti43ServerAuditStrategy, Iti44AuditStrategy, Iti45AuditStrategy, Iti46AuditStrategy, Iti47AuditStrategy, Iti51AuditStrategy, Iti55AuditStrategy, Iti56AuditStrategy, Iti57ClientAuditStrategy, Iti57ServerAuditStrategy, Iti59ClientAuditStrategy, Iti59ServerAuditStrategy, Iti61ClientAuditStrategy, Iti61ServerAuditStrategy, Iti62AuditStrategy, Iti63AuditStrategy, Iti64AuditStrategy, Iti65AuditStrategy, Iti65ClientAuditStrategy, Iti65ServerAuditStrategy, Iti66AuditStrategy, Iti67AuditStrategy, Iti68BinaryServerAuditStrategy, Iti68ServerAuditStrategy, Iti78ClientAuditStrategy, Iti78ServerAuditStrategy, Iti79AuditStrategy, Iti80ClientAuditStrategy, Iti80ServerAuditStrategy, Iti81AuditStrategy, Iti81ClientAuditStrategy, Iti81ServerAuditStrategy, Iti83AuditStrategy, Iti86AuditStrategy, Iti8AuditStrategy, Iti92ClientAuditStrategy, Iti92ServerAuditStrategy, Iti9AuditStrategy, NoAuditStrategy, Pcc1AuditStrategy, Pcc44AuditStrategy, PdqAuditStrategy, Pharm1AuditStrategy, Pharm5AuditStrategy, Rad69ClientAuditStrategy, Rad69ServerAuditStrategy, Rad75ClientAuditStrategy, Rad75ServerAuditStrategy, XdsAuditStrategy, XdsIRetrieveAuditStrategy30, XdsNonconstructiveDocumentSetRequestAuditStrategy30, XdsQueryAuditStrategy30, XdsRemoveDocumentAuditStrategy30, XdsRemoveMetadataAuditStrategy30, XdsRetrieveAuditStrategy30, XdsSubmitAuditStrategy30

public interface AuditStrategy<T extends AuditDataset>
ATNA audit strategy base for transactions. This strategy is accompanied with a dedicated subclass of AuditDataset containing the data for the audit record.
Since:
3.1
Author:
Christian Ohr
  • Method Details

    • createAuditDataset

      T createAuditDataset()
      Creates a new audit dataset instance.
    • enrichAuditDatasetFromRequest

      T enrichAuditDatasetFromRequest(T auditDataset, Object request, Map<String,Object> parameters)
      Enriches the given audit dataset with transaction-specific contents of the request message and Camel exchange.
      Parameters:
      auditDataset - audit dataset to be enriched.
      request - Object representing the request.
      parameters - additional parameters
    • enrichAuditDatasetFromResponse

      default boolean enrichAuditDatasetFromResponse(T auditDataset, Object response)
      Enriches the given audit dataset with transaction-specific contents of the response message.
      Parameters:
      auditDataset - audit dataset to be enriched.
      response - Object representing the responded resource.
      Returns:
      true if response indicates success, false otherwise
    • enrichAuditDatasetFromResponse

      boolean enrichAuditDatasetFromResponse(T auditDataset, Object response, AuditContext auditContext)
      Enriches the given audit dataset with transaction-specific contents of the response message.
      Parameters:
      auditDataset - audit dataset to be enriched.
      response - Object representing the responded resource.
      auditContext - audit context, if relevant
      Returns:
      true if response indicates success, false otherwise
    • doAudit

      void doAudit(AuditContext auditContext, T auditDataset)
      Performs the actual ATNA audit.
      Parameters:
      auditContext - audit context used for auditing
      auditDataset - Collected audit dataset.
    • isAuditableResponse

      boolean isAuditableResponse(Object response)
      Determines whether the given response finalizes the interaction and thus the ATNA auditing should be finalized as well.

      Per default always returns true.

      Parameters:
      response - response in transaction-specific format (POJO, XML string, etc.).
      Returns:
      true when this response finalizes the interaction.
    • getEventOutcomeIndicator

      EventOutcomeIndicator getEventOutcomeIndicator(Object response)
      Determines which event outcome corresponds with the provided response POJO
      Parameters:
      response - POJO
      Returns:
      event outcome code
    • getEventOutcomeIndicator

      default EventOutcomeIndicator getEventOutcomeIndicator(T auditDataset, Object response)
      Determines which event outcome corresponds with the provided response POJO
      Parameters:
      auditDataset - Audit dataset
      response - POJO
      Returns:
      event outcome code
    • getEventOutcomeDescription

      String getEventOutcomeDescription(Object response)
      Determines which event outcome description corresponds with the provided response POJO
      Parameters:
      response - POJO
      Returns:
      event outcome description
    • getEventOutcomeDescription

      default String getEventOutcomeDescription(T auditDataset, Object response)
      Determines which event outcome description corresponds with the provided response POJO
      Parameters:
      auditDataset - Audit dataset
      response - POJO
      Returns:
      event outcome description