From cf09a70fb88966a3da8d236fd1fe9bcce0515896 Mon Sep 17 00:00:00 2001 From: Lars Simon Winzer Date: Wed, 8 Apr 2026 16:49:47 +0200 Subject: [PATCH] Add: Change CommandHandler to abstract class and add support for pre-execution checks --- .../command/execution/CommandHandler.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java index 0fdae3c..f6c1a58 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/casono/server/network/command/execution/CommandHandler.java @@ -1,7 +1,21 @@ package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution; +import ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution.checks.HandlerCheck; import ch.unibas.dmi.dbis.cs108.casono.server.network.protocol.request.Request; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; -public interface CommandHandler { - void execute(T request); +public abstract class CommandHandler { + private final List checks = new ArrayList<>(); + + protected final void addCheck(HandlerCheck check) { + checks.add(check); + } + + public final List getChecks() { + return Collections.unmodifiableList(checks); + } + + public void execute(T request) {} }