Class RemoteActionLog.Entry

java.lang.Object
com.ultikits.ultitools.manager.RemoteActionLog.Entry
Enclosing class:
RemoteActionLog

public static final class RemoteActionLog.Entry extends Object
One immutable action-log entry. Built exactly like TriggerContext: private final fields, a private constructor, and named static factories. actor is captured as a plain String rather than a live identity — the framework cannot attribute a remote command to an individual panel operator today because executeCommandInternal dispatches every remote command as the console sender regardless of the executor field's value; this records the received value verbatim, or the literal "panel" when absent, rather than inventing a per-operator identity the framework cannot back up.
  • Field Details

    • timestamp

      private final long timestamp
    • capability

      private final String capability
    • action

      private final String action
    • target

      private final String target
    • actor

      private final String actor
    • verdict

      private final RemoteActionLog.Verdict verdict
    • reason

      private final String reason
  • Constructor Details

  • Method Details

    • allowed

      public static RemoteActionLog.Entry allowed(Capability capability, String action, String target, String actor)
      Parameters:
      capability - the capability that gated this action
      action - the message type, extended with the resolved sub-operation where one exists
      target - the command text, file path, or message type
      actor - the inbound executor field verbatim, or "panel" if absent
      Returns:
      the entry
    • denied

      public static RemoteActionLog.Entry denied(Capability capability, String action, String target, String actor, String reason)
      Parameters:
      capability - the capability that gated this action
      action - the message type, extended with the resolved sub-operation where one exists
      target - the command text, file path, or message type
      actor - the inbound executor field verbatim, or "panel" if absent
      reason - the refusal text — matches what was sent to the panel (D-05/D-17)
      Returns:
      the entry
    • getTimestamp

      public long getTimestamp()
    • getCapability

      public String getCapability()
    • getAction

      public String getAction()
    • getTarget

      public String getTarget()
    • getActor

      public String getActor()
    • getVerdict

      public RemoteActionLog.Verdict getVerdict()
    • getReason

      public String getReason()