java.lang.Object
ai.attackframework.tools.burp.ui.primitives.ScopeGrid
All Implemented Interfaces:
Serializable

public class ScopeGrid extends Object implements Serializable
Custom scope entries grid: - Col 1: text field (size-grouped) - Col 2: ".*" toggle + ✓/✖ indicator - Col 3: action button (Add on row 1, Delete on rows > 1)

EDT: Public mutators expect to be called on the EDT.

See Also:
  • Constructor Details

    • ScopeGrid

      public ScopeGrid(List<ScopeGrid.ScopeEntryInit> initial)
      Constructs the grid with optional seed entries.

      Parameters:
      initial - ordered initial entries; blank row created when null or empty
  • Method Details

    • component

      public JPanel component()
      Returns the internal grid component to be added by higher-level panels.

      This is an intentional exposure of a UI primitive so callers can place the grid into their layouts; the panel is not shared across independent owners.

      Returns:
      grid component to embed in layouts
    • values

      public List<String> values()
      Current text values across rows (in order).

      Returns:
      list of row values
    • regexKinds

      public List<Boolean> regexKinds()
      Current kinds across rows (in order).

      Returns:
      list of regex flags (true means regex)
    • setEntries

      public void setEntries(List<ScopeGrid.ScopeEntryInit> entries)
      Replaces all rows with the provided entries. A single blank row is created when null or empty.

      Parameters:
      entries - new entries to apply
    • setEnabled

      public void setEnabled(boolean enabled)
      Enables/disables the entire grid (fields, toggles, Add/Delete). The Add button is also constrained by the MAX_ROWS rule.

      Parameters:
      enabled - whether controls should be enabled
    • setOnContentChange

      public void setOnContentChange(Runnable runnable)
      Sets a callback invoked when any scope entry field or regex toggle changes. Used so the config panel can push custom scope changes to RuntimeConfig without requiring a separate button click.
      Parameters:
      runnable - callback to run on content change; null to clear