summaryrefslogtreecommitdiff
path: root/examples/08-custom-code/output/java/src/main
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-02 16:32:26 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-02 16:37:31 +0100
commit94d481c940fb36da896e2e80a62f39d849477f53 (patch)
tree1df183249ec0cffe9c02f6a145dbb11bfef05a91 /examples/08-custom-code/output/java/src/main
parent6fe5f16e1b261dcc34f83ca9c6d6049d3591976b (diff)
Add inductive data types example
Diffstat (limited to 'examples/08-custom-code/output/java/src/main')
-rw-r--r--examples/08-custom-code/output/java/src/main/java/org/zwobble/example/Main.java10
-rw-r--r--examples/08-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java33
2 files changed, 43 insertions, 0 deletions
diff --git a/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/Main.java b/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/Main.java
new file mode 100644
index 0000000..2d2366d
--- /dev/null
+++ b/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/Main.java
@@ -0,0 +1,10 @@
+package org.zwobble.example;
+
+import org.zwobble.example.types.shapes.Square;
+
+public class Main {
+ public static void main() {
+ Square square = new Square(10);
+ assert square.area() == 100;
+ }
+}
diff --git a/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java b/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java
new file mode 100644
index 0000000..169d729
--- /dev/null
+++ b/examples/08-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java
@@ -0,0 +1,33 @@
+// Generated by hobgoblin.
+
+package org.zwobble.example.types.shapes;
+
+// Custom area start: org.zwobble.example.types.shapes.Square imports
+// Custom area end: org.zwobble.example.types.shapes.Square imports
+
+public record Square(int width) {
+ public static org.zwobble.example.types.shapes.Square.Builder arbitrary() {
+ return new org.zwobble.example.types.shapes.Square.Builder(0);
+ }
+
+ public record Builder(int width) {
+ public org.zwobble.example.types.shapes.Square build() {
+ return new org.zwobble.example.types.shapes.Square(width);
+ }
+
+ public org.zwobble.example.types.shapes.Square.Builder withWidth(int width) {
+ return new org.zwobble.example.types.shapes.Square.Builder(width);
+ }
+
+ // Custom area start: org.zwobble.example.types.shapes.Square.Builder body
+ // Custom area end: org.zwobble.example.types.shapes.Square.Builder body
+ }
+
+ // Custom area start: org.zwobble.example.types.shapes.Square body
+
+ public int area() {
+ return this.width * this.width;
+ }
+
+ // Custom area end: org.zwobble.example.types.shapes.Square body
+}