summaryrefslogtreecommitdiff
path: root/examples/16-transient-0/output/java/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/16-transient-0/output/java/src')
-rw-r--r--examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java56
-rw-r--r--examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java23
2 files changed, 71 insertions, 8 deletions
diff --git a/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
index 1eea54c..9993ed2 100644
--- a/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
+++ b/examples/16-transient-0/output/java/src/main/java/org/zwobble/example/types/data/transient0/HobgoblinTransient0Data.java
@@ -90,6 +90,28 @@ public final class HobgoblinTransient0Data {
return new org.zwobble.example.types.data.StructWithStruct(inner, c);
}
+ public static <A, B> void encodeGenericStruct(org.zwobble.example.types.data.GenericStruct<A, B> value, java.io.OutputStream outputStream, java.util.Map<org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues, org.zwobble.example.types.transient0.Encoder<A> encoder$A, org.zwobble.example.types.transient0.Encoder<B> encoder$B) throws java.io.IOException {
+ encoder$A.encode(value.a(), outputStream, sharedValues);
+ encoder$B.encode(value.b(), outputStream, sharedValues);
+ }
+
+ public static <A, B> org.zwobble.example.types.data.GenericStruct<A, B> decodeGenericStruct(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues, org.zwobble.example.types.transient0.Decoder<A> decoder$A, org.zwobble.example.types.transient0.Decoder<B> decoder$B) throws java.io.IOException {
+ var a = decoder$A.decode(inputStream, sharedValues);
+ var b = decoder$B.decode(inputStream, sharedValues);
+ return new org.zwobble.example.types.data.GenericStruct<A, B>(a, b);
+ }
+
+ public static void encodeStructWithGenericStruct(org.zwobble.example.types.data.StructWithGenericStruct 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.encodeGenericStruct(value.a(), outputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeInt32, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString);
+ org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.encodeGenericStruct(value.b(), outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$1);
+ }
+
+ public static org.zwobble.example.types.data.StructWithGenericStruct decodeStructWithGenericStruct(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var a = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericStruct(inputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeInt32, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString);
+ var b = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericStruct(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$1);
+ return new org.zwobble.example.types.data.StructWithGenericStruct(a, b);
+ }
+
public static void encodeStructWithList(org.zwobble.example.types.data.StructWithList 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.transient0.HobgoblinTransient0Builtins.encodeInt64((long) value.a().size(), outputStream, sharedValues);
for (var element : value.a()) {
@@ -276,12 +298,12 @@ public final class HobgoblinTransient0Data {
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);
- org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.encodeGenericNative(value.b(), outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$1);
+ org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.encodeGenericNative(value.b(), outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$2);
}
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);
- var b = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$1);
+ var b = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$2);
return new org.zwobble.example.types.data.StructWithGenericNative(a, b);
}
@@ -519,20 +541,38 @@ public final class HobgoblinTransient0Data {
return value;
}
- private static void encode$constructedType$1(org.zwobble.example.types.data.GenericNative<java.util.Optional<String>, org.zwobble.example.types.data.GenericNative<String, String>> 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, outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$2);
+ private static void encode$constructedType$1(org.zwobble.example.types.data.GenericStruct<java.util.Optional<String>, org.zwobble.example.types.data.GenericStruct<String, String>> 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.encodeGenericStruct(value, outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$3);
+ }
+
+ private static org.zwobble.example.types.data.GenericStruct<java.util.Optional<String>, org.zwobble.example.types.data.GenericStruct<String, String>> decode$constructedType$1(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericStruct(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$3);
+ return value;
+ }
+
+ private static void encode$constructedType$2(org.zwobble.example.types.data.GenericNative<java.util.Optional<String>, org.zwobble.example.types.data.GenericNative<String, String>> 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, outputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::encode$constructedType$4);
+ }
+
+ private static org.zwobble.example.types.data.GenericNative<java.util.Optional<String>, org.zwobble.example.types.data.GenericNative<String, String>> decode$constructedType$2(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$4);
+ return value;
+ }
+
+ private static void encode$constructedType$3(org.zwobble.example.types.data.GenericStruct<String, String> 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.encodeGenericStruct(value, outputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString);
}
- private static org.zwobble.example.types.data.GenericNative<java.util.Optional<String>, org.zwobble.example.types.data.GenericNative<String, String>> decode$constructedType$1(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
- var value = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$0, org.zwobble.example.types.data.transient0.HobgoblinTransient0Data::decode$constructedType$2);
+ private static org.zwobble.example.types.data.GenericStruct<String, String> decode$constructedType$3(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ var value = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericStruct(inputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString);
return value;
}
- private static void encode$constructedType$2(org.zwobble.example.types.data.GenericNative<String, String> value, java.io.OutputStream outputStream, java.util.Map<org.zwobble.example.types.transient0.HobgoblinTransient0TaggedSharedValue, java.lang.Long> sharedValues) throws java.io.IOException {
+ private static void encode$constructedType$4(org.zwobble.example.types.data.GenericNative<String, String> 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, outputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::encodeString);
}
- private static org.zwobble.example.types.data.GenericNative<String, String> decode$constructedType$2(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
+ private static org.zwobble.example.types.data.GenericNative<String, String> decode$constructedType$4(java.io.InputStream inputStream, java.util.List<java.lang.Object> sharedValues) throws java.io.IOException {
var value = org.zwobble.example.types.data.transient0.HobgoblinTransient0Data.decodeGenericNative(inputStream, sharedValues, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString, org.zwobble.example.types.transient0.HobgoblinTransient0Builtins::decodeString);
return value;
}
diff --git a/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
index ba43aed..b5c3611 100644
--- a/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
+++ b/examples/16-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java
@@ -16,6 +16,7 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.zwobble.example.types.data.EnumWithVariants;
import org.zwobble.example.types.data.GenericNative;
+import org.zwobble.example.types.data.GenericStruct;
import org.zwobble.example.types.data.Native;
import org.zwobble.example.types.data.StructSingleton;
import org.zwobble.example.types.data.StructWithBool;
@@ -23,6 +24,7 @@ import org.zwobble.example.types.data.StructWithBox;
import org.zwobble.example.types.data.StructWithDifferentSharedTypes;
import org.zwobble.example.types.data.StructWithEnum;
import org.zwobble.example.types.data.StructWithGenericNative;
+import org.zwobble.example.types.data.StructWithGenericStruct;
import org.zwobble.example.types.data.StructWithInt8;
import org.zwobble.example.types.data.StructWithInt32;
import org.zwobble.example.types.data.StructWithInt64;
@@ -125,6 +127,27 @@ public class Transient0Tests {
}
@Test
+ public void structWithGenericStruct() throws IOException {
+ var value = new StructWithGenericStruct(
+ new GenericStruct(10, "x1"),
+ new GenericStruct(
+ Optional.of("x2"),
+ new GenericStruct(
+ Optional.of("x3"),
+ new GenericStruct("x4", "x5")
+ )
+ )
+ );
+
+ assertRoundTripEncoding(
+ "StructWithGenericStruct",
+ value,
+ HobgoblinTransient0Data::encodeStructWithGenericStruct,
+ HobgoblinTransient0Data::decodeStructWithGenericStruct
+ );
+ }
+
+ @Test
public void structWithList() throws IOException {
var value = new StructWithList(
List.of(10L, 25L),