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

XFEServerManager

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

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

import com.xfestudio.xfeservermanager.api.util.ApiChecks;
import java.time.Instant;
import java.util.List;
import java.util.Objects;

/** An immutable, publishable policy version. */
public record PolicySnapshot(
        long version,
        Instant createdAt,
        String createdBy,
        String description,
        List<PolicyRule> rules,
        String checksum
) {
    public PolicySnapshot {
        if (version < 0) {
            throw new IllegalArgumentException("version must be non-negative");
        }
        Objects.requireNonNull(createdAt, "createdAt");
        createdBy = ApiChecks.notBlank(createdBy, "createdBy");
        description = ApiChecks.notBlank(description, "description");
        rules = ApiChecks.immutableList(rules, "rules");
        checksum = ApiChecks.notBlank(checksum, "checksum");
    }
}