From 94e30f7ffbafcdd188d09d8c7bf7e4794b650018 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Wed, 13 Nov 2024 22:27:28 +0100 Subject: wip --- .../main/java/moe/nea/jcp/gson/GsonOperations.java | 75 ++++++++++++++++++++++ .../main/java/moe/nea/jcp/gson/package-info.java | 4 ++ 2 files changed, 79 insertions(+) create mode 100644 gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java create mode 100644 gson/src/main/java/moe/nea/jcp/gson/package-info.java (limited to 'gson/src/main') diff --git a/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java b/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java new file mode 100644 index 0000000..7d81b9f --- /dev/null +++ b/gson/src/main/java/moe/nea/jcp/gson/GsonOperations.java @@ -0,0 +1,75 @@ +package moe.nea.jcp.gson; + +import com.google.gson.JsonElement; +import com.google.gson.JsonNull; +import moe.nea.pcj.JsonLikeError; +import moe.nea.pcj.JsonLikeOperations; +import moe.nea.pcj.ListBuilder; +import moe.nea.pcj.ListView; +import moe.nea.pcj.RecordBuilder; +import moe.nea.pcj.RecordView; +import moe.nea.pcj.Result; +import moe.nea.pcj.Unit; + +public class GsonOperations implements JsonLikeOperations { + @Override + public JsonElement createNull(Unit value) { + return JsonNull.INSTANCE; + } + + @Override + public Result getNull(JsonElement element) { + if (element.isJsonNull()) return Result.ok(Unit.INSTANCE); + return Result.fail(); + } + + @Override + public JsonElement createNumeric(Number value) { + return null; + } + + @Override + public Result getInt(JsonElement element) { + return null; + } + + @Override + public JsonElement createString(String value) { + return null; + } + + @Override + public Result getString(JsonElement element) { + return null; + } + + @Override + public JsonElement createBoolean(boolean value) { + return null; + } + + @Override + public Result getBoolean(JsonElement jsonElement) { + return null; + } + + @Override + public RecordBuilder createObject() { + return null; + } + + @Override + public Result, ? extends JsonLikeError> getObject(JsonElement jsonElement) { + return null; + } + + @Override + public ListBuilder createList() { + return null; + } + + @Override + public Result, ? extends JsonLikeError> getList(JsonElement jsonElement) { + return null; + } +} diff --git a/gson/src/main/java/moe/nea/jcp/gson/package-info.java b/gson/src/main/java/moe/nea/jcp/gson/package-info.java new file mode 100644 index 0000000..f6947c5 --- /dev/null +++ b/gson/src/main/java/moe/nea/jcp/gson/package-info.java @@ -0,0 +1,4 @@ +@NullMarked +package moe.nea.jcp.gson; + +import org.jspecify.annotations.NullMarked; \ No newline at end of file -- cgit