审查生成的事件审计层次

来自 密封类
Java 25 LTS 高级 6分钟 找出 4处问题

在这段生成的事件审计层次成为共享 API 前进行审查。

建立受控事件根类型与刻意开放的插件分支;避免凭据进入审计输出;显式拒绝 null;让新增根变体触发审查;并在不进行无依据并行处理的前提下保持事件顺序。

Java
import java.util.List;
public class GeneratedEvents {
    sealed interface Event permits Login, Payment, PluginEvent {}
    record Login(String userId, String accessToken) implements Event {}
    record Payment(String id, int cents) implements Event {}
    non-sealed interface PluginEvent extends Event {}
    static String audit(Event event) {
        return switch (event) {
            case Login login -> "login " + login;
            case Payment payment when payment.cents() > 0 -> "paid " + payment.id();
            case Payment payment -> "ignored " + payment.id();
            default -> "other";
        };
    }
    static List<String> auditAll(List<Event> events) {
        return events.parallelStream()
                .map(GeneratedEvents::audit)
                .sorted()
                .toList();
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误