Package com.tnsai.quality.security.audit
Class FileAuditStore
java.lang.Object
com.tnsai.quality.security.audit.FileAuditStore
- All Implemented Interfaces:
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
ConstructorsConstructorDescriptionCreates a FileAuditStore with the default directory (".tnsai/audit").FileAuditStore(Path storageDir) Creates a FileAuditStore in the specified directory. -
Method Summary
Modifier and TypeMethodDescriptionlongcount(com.tnsai.security.audit.AuditQuery query) longdeleteOlderThan(Instant cutoff) List<com.tnsai.security.audit.AuditEvent> query(com.tnsai.security.audit.AuditQuery query) voidrecord(com.tnsai.security.audit.AuditEvent event) intsize()Returns the total number of stored events.
-
Constructor Details
-
FileAuditStore
public FileAuditStore()Creates a FileAuditStore with the default directory (".tnsai/audit"). -
FileAuditStore
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:
recordin interfacecom.tnsai.security.audit.AuditStore
-
query
- Specified by:
queryin interfacecom.tnsai.security.audit.AuditStore
-
count
public long count(com.tnsai.security.audit.AuditQuery query) - Specified by:
countin interfacecom.tnsai.security.audit.AuditStore
-
deleteOlderThan
- Specified by:
deleteOlderThanin interfacecom.tnsai.security.audit.AuditStore
-
size
public int size()Returns the total number of stored events.- Returns:
- event count
-