git » crow.game » commit a7c072e

codec.api: add TODO handler

author b0in
2023-12-07 01:12:09 UTC
committer b0in
2023-12-07 01:12:09 UTC
parent 3671fc284495447aa975aef51fa56b63681b4470

codec.api: add TODO handler

crow.game.codec.api/src/main/java/crow/game/codec/Context.java +32 -0

diff --git a/crow.game.codec.api/src/main/java/crow/game/codec/Context.java b/crow.game.codec.api/src/main/java/crow/game/codec/Context.java
index 0ac7523..dd45714 100644
--- a/crow.game.codec.api/src/main/java/crow/game/codec/Context.java
+++ b/crow.game.codec.api/src/main/java/crow/game/codec/Context.java
@@ -43,4 +43,36 @@ public interface Context {
     return (this.supportedProtocolVersion() >= pr.minVersion()
         && this.supportedProtocolVersion() <= pr.maxVersion());
   }
+
+  /**
+   * @return an empty context used for experimentation and stubbing.
+   */
+  static Context TODO() {
+    return new Context() {
+      @Override
+      public int supportedProtocolVersion() {
+        return 0;
+      }
+
+      @Override
+      public List<PacketHandler<?>> lookupPacketHandler(int prefix) {
+        return List.of();
+      }
+
+      @Override
+      public List<PacketHandler<?>> lookupPacketHandler(Class<?> clz) {
+        return List.of();
+      }
+
+      @Override
+      public Object underlyingObject() {
+        return null;
+      }
+
+      @Override
+      public Source callingSource() {
+        return Source.INIT;
+      }
+    };
+  }
 }