Package com.ultikits.ultitools.manager
Class RemoteActionLog.Entry
java.lang.Object
com.ultikits.ultitools.manager.RemoteActionLog.Entry
- Enclosing class:
RemoteActionLog
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 Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic RemoteActionLog.Entryallowed(Capability capability, String action, String target, String actor) Builds anRemoteActionLog.Verdict.ALLOWEDentry.static RemoteActionLog.EntryBuilds aRemoteActionLog.Verdict.DENIEDentry.getActor()long
-
Field Details
-
timestamp
private final long timestamp -
capability
-
action
-
target
-
actor
-
verdict
-
reason
-
-
Constructor Details
-
Entry
-
-
Method Details
-
allowed
public static RemoteActionLog.Entry allowed(Capability capability, String action, String target, String actor) Builds anRemoteActionLog.Verdict.ALLOWEDentry.- Parameters:
capability- the capability that gated this actionaction- the message type, extended with the resolved sub-operation where one existstarget- the command text, file path, or message typeactor- the inboundexecutorfield verbatim, or"panel"if absent- Returns:
- the entry
-
denied
public static RemoteActionLog.Entry denied(Capability capability, String action, String target, String actor, String reason) Builds aRemoteActionLog.Verdict.DENIEDentry.- Parameters:
capability- the capability that gated this actionaction- the message type, extended with the resolved sub-operation where one existstarget- the command text, file path, or message typeactor- the inboundexecutorfield verbatim, or"panel"if absentreason- the refusal text — matches what was sent to the panel (D-05/D-17)- Returns:
- the entry
-
getTimestamp
public long getTimestamp() -
getCapability
-
getAction
-
getTarget
-
getActor
-
getVerdict
-
getReason
-