Add: Change CommandHandler to abstract class and add support for pre-execution checks
This commit is contained in:
+16
-2
@@ -1,7 +1,21 @@
|
|||||||
package ch.unibas.dmi.dbis.cs108.casono.server.network.command.execution;
|
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 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> {
|
public abstract class CommandHandler<T extends Request> {
|
||||||
void execute(T 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) {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user