Class AuditsMetaDataProvider

java.lang.Object
com.kingsrook.qqq.backend.core.model.audits.AuditsMetaDataProvider

public class AuditsMetaDataProvider extends Object
MetaData provider for the QQQ audit system tables. By default, the audit table's recordId field is INTEGER, which supports auditing tables with integer primary keys. To audit tables with String or UUID primary keys, configure the provider with a STRING recordId type:
 new AuditsMetaDataProvider()
    .withRecordIdType(QFieldType.STRING)
    .defineAll(qInstance, backendName, enricher);
 
  • Field Details

  • Constructor Details

    • AuditsMetaDataProvider

      public AuditsMetaDataProvider()
  • Method Details

    • defineAll

      public void defineAll(QInstance instance, String backendName, Consumer<QTableMetaData> backendDetailEnricher) throws QException
      Throws:
      QException
    • defineStandardAuditScreens

      public void defineStandardAuditScreens(QInstance instance)
      Record screens for the audit tables: named sections instead of the generic ones, and an audit record's field changes (its audit details) listed on it. Needs the tables and the audit-to-detail join; a table or join that is absent is skipped, and so is a table that already has sections (an application's own layout wins). Run by defineAll when withDefineRecordScreens(true); callable directly after defineAll.
    • defineStandardAuditTables

      public void defineStandardAuditTables(QInstance instance, String backendName, Consumer<QTableMetaData> backendDetailEnricher) throws QException
      Throws:
      QException
    • defineStandardAuditPossibleValueSources

      public void defineStandardAuditPossibleValueSources(QInstance instance)
    • getRecordIdType

      public QFieldType getRecordIdType()
      Getter for recordIdType
    • setRecordIdType

      public void setRecordIdType(QFieldType recordIdType)
      Setter for recordIdType
    • withRecordIdType

      public AuditsMetaDataProvider withRecordIdType(QFieldType recordIdType)
      Fluent setter for recordIdType
    • withClientChannelField

      public AuditsMetaDataProvider withClientChannelField(boolean includeClientChannelField)
      Fluent setter for includeClientChannelField: whether the audit table has the clientChannel field (which client made each change). The backing table needs the column first.
    • getIncludeClientChannelField

      public boolean getIncludeClientChannelField()
      Getter for includeClientChannelField
    • getDefineRecordScreens

      public boolean getDefineRecordScreens()
      Getter for defineRecordScreens
    • setDefineRecordScreens

      public void setDefineRecordScreens(boolean defineRecordScreens)
      Setter for defineRecordScreens
    • withDefineRecordScreens

      public AuditsMetaDataProvider withDefineRecordScreens(boolean defineRecordScreens)
      Fluent setter for defineRecordScreens: whether defineAll also defines the audit record screens (sections and the Field Changes child list).