Class LogStore

java.lang.Object
ai.attackframework.tools.burp.ui.log.LogStore

public final class LogStore extends Object
Log model: entries, duplicate compaction, memory cap, and filtered aggregation.

Threading: methods are expected to be called on the EDT.

  • Constructor Details

    • LogStore

      public LogStore(int maxEntries, LogStore.VisibilityFilter filter)
      Constructs a bounded log model with a visibility filter.

      Parameters:
      maxEntries - maximum entries to retain before trimming (> 0)
      filter - predicate used for visibility decisions during renders
  • Method Details

    • setFilter

      public void setFilter(LogStore.VisibilityFilter filter)
      Updates the visibility predicate used during render decisions.

      Parameters:
      filter - new predicate (required)
    • clear

      public void clear()
      Clears all stored entries.
    • size

      public int size()
      Returns the number of stored (unfiltered) entries.

      Returns:
      entry count
    • ingest

      public LogStore.Decision ingest(LogStore.Level level, String message, LocalDateTime now)
      Ingests an event, compacting duplicates. Returns an incremental render decision. Stored model is unfiltered; the filter is used for visibility decisions only.
    • trimIfNeeded

      public LogStore.TrimResult trimIfNeeded()
      Enforces the entry cap.

      Returns LogStore.TrimResult.NONE when no trim was required. Otherwise returns the count of removed (unfiltered) entries and the count of those that would have been visible under the current filter. The visible count lets callers decide whether the rendered document needs to change at all (filter-rejected entries can be trimmed silently with no document edit).

    • buildVisibleAggregated

      public List<LogStore.Aggregate> buildVisibleAggregated()
      Builds filtered, aggregated lines for a full repaint.