Class FileAuditStore

java.lang.Object
com.tnsai.quality.security.audit.FileAuditStore
All Implemented Interfaces:
com.tnsai.security.audit.AuditStore

public final class FileAuditStore extends Object implements com.tnsai.security.audit.AuditStore
File-based persistent audit store using JSON.

Events are stored as a JSON array in a single file. The store is thread-safe via a read-write lock. Writes are flushed immediately for durability.

Follows the same pattern as FileMemoryStore in tnsai-core.

  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a FileAuditStore with the default directory (".tnsai/audit").
    FileAuditStore(Path storageDir)
    Creates a FileAuditStore in the specified directory.
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    count(com.tnsai.security.audit.AuditQuery query)
     
    long
     
    List<com.tnsai.security.audit.AuditEvent>
    query(com.tnsai.security.audit.AuditQuery query)
     
    void
    record(com.tnsai.security.audit.AuditEvent event)
     
    int
    Returns the total number of stored events.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • FileAuditStore

      public FileAuditStore()
      Creates a FileAuditStore with the default directory (".tnsai/audit").
    • FileAuditStore

      public FileAuditStore(Path storageDir)
      Creates a FileAuditStore in the specified directory.
      Parameters:
      storageDir - directory for the audit file
  • Method Details

    • record

      public void record(com.tnsai.security.audit.AuditEvent event)
      Specified by:
      record in interface com.tnsai.security.audit.AuditStore
    • query

      public List<com.tnsai.security.audit.AuditEvent> query(com.tnsai.security.audit.AuditQuery query)
      Specified by:
      query in interface com.tnsai.security.audit.AuditStore
    • count

      public long count(com.tnsai.security.audit.AuditQuery query)
      Specified by:
      count in interface com.tnsai.security.audit.AuditStore
    • deleteOlderThan

      public long deleteOlderThan(Instant cutoff)
      Specified by:
      deleteOlderThan in interface com.tnsai.security.audit.AuditStore
    • size

      public int size()
      Returns the total number of stored events.
      Returns:
      event count