Class AuditDetailAccumulator
java.lang.Object
com.kingsrook.qqq.backend.core.model.actions.audits.AuditDetailAccumulator
- All Implemented Interfaces:
Serializable
Object to accumulate multiple audit-details to be recorded under a single
audit per-record, within a process step. Especially useful if/when the
process step spreads its work out through multiple classes.
Pattern of usage looks like:
// declare as a field (or local) w/ message for the audit headers private AuditDetailAccumulator auditDetailAccumulator = new AuditDetailAccumulator("Audit header message"); // put into thread context AuditDetailAccumulator.setInContext(auditDetailAccumulator); // add a detail message for a record auditDetailAccumulator.addAuditDetail(tableName, record, "Detail message"); // in another class, get the accumulator from context and safely add a detail message AuditDetailAccumulator.getFromContext().ifPresent(ada -> ada.addAuditDetail(tableName, record, "More Details")); // at the end of a step run/runOnePage method, add the accumulated audit details to step output auditDetailAccumulator.getAccumulatedAuditSingleInputs().forEach(runBackendStepOutput::addAuditSingleInput); auditDetailAccumulator.clear();
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addAuditDetail
(String tableName, QRecordEntity entity, String message) void
addAuditDetail
(String tableName, QRecord record, String message) void
clear()
static Optional
<AuditDetailAccumulator> void
-
Constructor Details
-
AuditDetailAccumulator
Constructor
-
-
Method Details
-
setInContext
public void setInContext() -
getFromContext
-
addAuditDetail
-
addAuditDetail
-
getAccumulatedAuditSingleInputs
-
clear
public void clear()
-