Class VoteOperation

java.lang.Object
cloud.opencode.base.flow.operation.VoteOperation

public final class VoteOperation extends Object
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 Details

    • VoteOperation

      public VoteOperation(FlowRepository repo, HistoryWriter history, StepEvaluator evaluator, TransitionResolver router, StepEntry stepEntry)
      Construct a vote operation with a no-op FlowMetrics. 构造投票操作(no-op FlowMetrics)。
      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 explicit FlowMetrics. 构造投票操作(显式注入 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

      public void execute(Task task, FlowDefinition def, VoteOpinion opinion, String comment)
      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