XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFEServerManager

【Java】我的世界XFE服务器管理器

公开
关注 0 Fork 0 Star 0
UTF-8
package com.xfestudio.xfeservermanager.core.trigger;

import java.time.Instant;
import java.util.Map;
import java.util.Objects;
import java.util.UUID;

/** Durable continuation for a live V2 execution pinned to one trigger revision. */
public record TriggerExecutionSnapshot(
        UUID executionId,
        UUID triggerId,
        long triggerRevision,
        String eventType,
        String status,
        TriggerProgramExecutor.State state,
        Map<String, Object> waitState,
        Map<String, Object> summary,
        String error,
        Instant startedAt,
        Instant updatedAt,
        Instant completedAt) {
    public TriggerExecutionSnapshot {
        Objects.requireNonNull(executionId, "executionId");
        Objects.requireNonNull(triggerId, "triggerId");
        if (triggerRevision < 0) throw new IllegalArgumentException("triggerRevision must not be negative");
        eventType = Objects.requireNonNull(eventType, "eventType");
        status = Objects.requireNonNull(status, "status");
        Objects.requireNonNull(state, "state");
        waitState = Map.copyOf(waitState == null ? Map.of() : waitState);
        summary = Map.copyOf(summary == null ? Map.of() : summary);
        error = error == null ? "" : error;
        Objects.requireNonNull(startedAt, "startedAt");
        Objects.requireNonNull(updatedAt, "updatedAt");
    }
}