aboutsummaryrefslogtreecommitdiff
path: root/website/usageExamples/experimental/WitherExample_post.jpage
diff options
context:
space:
mode:
Diffstat (limited to 'website/usageExamples/experimental/WitherExample_post.jpage')
-rw-r--r--website/usageExamples/experimental/WitherExample_post.jpage21
1 files changed, 21 insertions, 0 deletions
diff --git a/website/usageExamples/experimental/WitherExample_post.jpage b/website/usageExamples/experimental/WitherExample_post.jpage
new file mode 100644
index 00000000..bb5952af
--- /dev/null
+++ b/website/usageExamples/experimental/WitherExample_post.jpage
@@ -0,0 +1,21 @@
+import lombok.NonNull;
+
+public class WitherExample {
+ private final int age;
+ private @NonNull final String name;
+
+ public WitherExample(String name, int age) {
+ if (name == null) throw new NullPointerException();
+ this.name = name;
+ this.age = age;
+ }
+
+ public WitherExample withAge(int age) {
+ return this.age == age ? this : new WitherExample(age, name);
+ }
+
+ protected WitherExample withName(@NonNull String name) {
+ if (name == null) throw new java.lang.NullPointerException("name");
+ return this.name == name ? this : new WitherExample(age, name);
+ }
+} \ No newline at end of file