summaryrefslogtreecommitdiff
path: root/examples/15-transient-0/output/java/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'examples/15-transient-0/output/java/src/main')
-rw-r--r--examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java4
-rw-r--r--examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java34
-rw-r--r--examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java13
-rw-r--r--examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java13
4 files changed, 64 insertions, 0 deletions
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
index 012a091..32796b5 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
+++ b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/HobgoblinNativeData.java
@@ -6,4 +6,8 @@ public class HobgoblinNativeData {
public static Native arbitraryNative() {
return new Native(0, 0);
}
+
+ public static <A, B> GenericNative<A, B> arbitraryGenericNative() {
+ throw new RuntimeException("TODO");
+ }
}
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
index e6e3098..0044a4a 100644
--- a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
+++ b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
@@ -8,7 +8,10 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
+import org.zwobble.example.types.data.GenericNative;
import org.zwobble.example.types.data.Native;
+import org.zwobble.example.types.transient0.Decoder;
+import org.zwobble.example.types.transient0.Encoder;
import org.zwobble.example.types.transient0.HobgoblinTransient0Builtins;
import org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue;
// Custom area end: org.zwobble.example.types.data.transient0.HobgoblinTransient0Data imports
@@ -271,6 +274,15 @@ public final class HobgoblinTransient0Data {
return new org.zwobble.example.types.data.StructWithNative(a);
}
+ public static void encodeStructWithGenericNative(org.zwobble.example.types.data.StructWithGenericNative value, java.io.OutputStream outputStream, java.util.Map<org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.encodeGenericNative(value.a(), outputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeInt32, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString);
+ }
+
+ public static org.zwobble.example.types.data.StructWithGenericNative decodeStructWithGenericNative(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var a = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeInt32, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString);
+ return new org.zwobble.example.types.data.StructWithGenericNative(a);
+ }
+
public static void encodeStructWithBox(org.zwobble.example.types.data.StructWithBox value, java.io.OutputStream outputStream, java.util.Map<org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.encodeStructWithInt32(value.inner(), outputStream, sharedValues);
}
@@ -504,5 +516,27 @@ public final class HobgoblinTransient0Data {
var b = HobgoblinTransient0Builtins.decodeInt32(inputStream, sharedValues);
return new Native(a, b);
}
+
+ public static <A, B> void encodeGenericNative(
+ GenericNative<A, B> value,
+ OutputStream outputStream,
+ Map<HobgoblinTransient0TaggedSharedValue, Long> sharedValues,
+ Encoder<A> encoderA,
+ Encoder<B> encoderB
+ ) throws IOException {
+ encoderA.encode(value.a(), outputStream, sharedValues);
+ encoderB.encode(value.b(), outputStream, sharedValues);
+ }
+
+ public static <A, B> GenericNative<A, B> decodeGenericNative(
+ InputStream inputStream,
+ List<Object> sharedValues,
+ Decoder<A> decoderA,
+ Decoder<B> decoderB
+ ) throws IOException {
+ var a = decoderA.decode(inputStream, sharedValues);
+ var b = decoderB.decode(inputStream, sharedValues);
+ return new GenericNative(a, b);
+ }
// Custom area end: org.zwobble.example.types.data.transient0.HobgoblinTransient0Data body
}
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java
new file mode 100644
index 0000000..ad1a6d0
--- /dev/null
+++ b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Decoder.java
@@ -0,0 +1,13 @@
+// Generated by hobgoblin.
+
+package org.zwobble.example.types.transient0;
+
+// Custom area start: org.zwobble.example.types.transient0.Decoder imports
+// Custom area end: org.zwobble.example.types.transient0.Decoder imports
+
+public interface Decoder<T> {
+ public T decode(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException;
+
+ // Custom area start: org.zwobble.example.types.transient0.Decoder body
+ // Custom area end: org.zwobble.example.types.transient0.Decoder body
+}
diff --git a/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java
new file mode 100644
index 0000000..2ba43a6
--- /dev/null
+++ b/examples/15-transient-0/output/java/src/main/java/org/zwobble/example/types/transient0/Encoder.java
@@ -0,0 +1,13 @@
+// Generated by hobgoblin.
+
+package org.zwobble.example.types.transient0;
+
+// Custom area start: org.zwobble.example.types.transient0.Encoder imports
+// Custom area end: org.zwobble.example.types.transient0.Encoder imports
+
+public interface Encoder<T> {
+ public void encode(T value, java.io.OutputStream outputStream, java.util.Map<org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException;
+
+ // Custom area start: org.zwobble.example.types.transient0.Encoder body
+ // Custom area end: org.zwobble.example.types.transient0.Encoder body
+}