Add: Change CommandHandler to abstract class and add support for pre-execution checks

This commit is contained in:
Lars Simon Winzer
2026-04-08 16:49:47 +02:00
parent a747c2de56
commit cf09a70fb8
@@ -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<T extends Request> {
void execute(T request);
public abstract class CommandHandler<T extends Request> {
private final List<HandlerCheck> checks = new ArrayList<>();
protected final void addCheck(HandlerCheck check) {
checks.add(check);
}
public final List<HandlerCheck> getChecks() {
return Collections.unmodifiableList(checks);
}
public void execute(T request) {}
}