Class VoteOperation
java.lang.Object
cloud.opencode.base.flow.operation.VoteOperation
Vote action — records the user's vote, marks task DONE+APPROVED (i.e.
"voted"), evaluates the step and advances on APPROVED / does nothing on
PENDING / stops on REJECTED (v4 §8.3).
投票操作 —— 记录投票、把 task 置为 DONE+APPROVED("已投票")、按评估结果推进。
- Since:
- JDK 25, opencode-base-flow V1.0.5
- Author:
- Leon Soo
-
Constructor Summary
ConstructorsConstructorDescriptionVoteOperation(FlowRepository repo, HistoryWriter history, StepEvaluator evaluator, TransitionResolver router, StepEntry stepEntry) Construct a vote operation with a no-opFlowMetrics.VoteOperation(FlowRepository repo, HistoryWriter history, StepEvaluator evaluator, TransitionResolver router, StepEntry stepEntry, FlowMetrics metrics) Construct a vote operation with explicitFlowMetrics. -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute(Task task, FlowDefinition def, VoteOpinion opinion, String comment) Execute the vote action.
-
Constructor Details
-
VoteOperation
public VoteOperation(FlowRepository repo, HistoryWriter history, StepEvaluator evaluator, TransitionResolver router, StepEntry stepEntry) Construct a vote operation with a no-opFlowMetrics. 构造投票操作(no-opFlowMetrics)。- Parameters:
repo- persistence facade — 持久化门面history- history writer — 历史追加器evaluator- step evaluator — 节点评估器router- transition resolver — 流转解析器stepEntry- step entry helper — 节点进入工具- Since:
- JDK 25, opencode-base-flow V1.0.5
-
VoteOperation
public VoteOperation(FlowRepository repo, HistoryWriter history, StepEvaluator evaluator, TransitionResolver router, StepEntry stepEntry, FlowMetrics metrics) Construct a vote operation with explicitFlowMetrics. 构造投票操作(显式注入FlowMetrics)。- Parameters:
repo- persistence facade — 持久化门面history- history writer — 历史追加器evaluator- step evaluator — 节点评估器router- transition resolver — 流转解析器stepEntry- step entry helper — 节点进入工具metrics- metrics sink — 指标接收器- Since:
- JDK 25, opencode-base-flow V1.0.5
-
-
Method Details
-
execute
Execute the vote action. 执行投票操作。R1 S-5: the full body (recordVote + task UPDATE + history + step evaluation + cancel siblings + instance UPDATE + next-step entry) runs inside
FlowRepository.runInTransaction(Runnable).R1 S-5:整段动作(投票 + task UPDATE + history + 评估 + cancel siblings + 实例 UPDATE + 进入下一步)置于
FlowRepository.runInTransaction(Runnable)。- Parameters:
task- the already-validated owned PENDING task — 已校验的任务def- flow definition — 流程定义opinion- vote opinion — 投票意见comment- sanitised comment (nullable) — 已清洗意见- Since:
- JDK 25, opencode-base-flow V1.0.5
-