aboutsummaryrefslogtreecommitdiff
path: root/usage_examples
diff options
context:
space:
mode:
Diffstat (limited to 'usage_examples')
-rw-r--r--usage_examples/BuilderExample_post.jpage62
-rw-r--r--usage_examples/BuilderExample_pre.jpage10
-rw-r--r--usage_examples/Singular-snippetExample_post.jpage160
-rw-r--r--usage_examples/Singular-snippetExample_pre.jpage14
-rw-r--r--usage_examples/experimental/BuilderExample_post.jpage40
-rw-r--r--usage_examples/experimental/BuilderExample_pre.jpage7
6 files changed, 246 insertions, 47 deletions
diff --git a/usage_examples/BuilderExample_post.jpage b/usage_examples/BuilderExample_post.jpage
new file mode 100644
index 00000000..0446a0dc
--- /dev/null
+++ b/usage_examples/BuilderExample_post.jpage
@@ -0,0 +1,62 @@
+import java.util.Set;
+
+public class BuilderExample {
+ private String name;
+ private int age;
+ private Set<String> occupations;
+
+ BuilderExample(String name, int age, Set<String> occupations) {
+ this.name = name;
+ this.age = age;
+ this.occupations = occupations;
+ }
+
+ public static BuilderExampleBuilder builder() {
+ return new BuilderExampleBuilder();
+ }
+
+ public static class BuilderExampleBuilder {
+ private String name;
+ private int age;
+ private java.util.ArrayList<String> occupations;
+
+ BuilderExampleBuilder() {
+ }
+
+ public BuilderExampleBuilder name(String name) {
+ this.name = name;
+ return this;
+ }
+
+ public BuilderExampleBuilder age(int age) {
+ this.age = age;
+ return this;
+ }
+
+ public BuilderExampleBuilder occupation(String occupation) {
+ if (this.occupations == null) {
+ this.occupations = new java.util.ArrayList<String>();
+ }
+ this.occupations.add(occupation);
+ }
+
+ public BuilderExampleBuilder occupations(Collection<? extends String> occupations) {
+ if (this.occupations == null) {
+ this.occupations = new java.util.ArrayList<String>();
+ }
+ this.occupations.addAll(occupations);
+ }
+
+ public BuilderExample build() {
+ // complicated switch statement to produce a compact properly sized immutable set omitted.
+ // go to http://projectlombok.org/features/Singular-snippet.html to see it.
+ Set<String> occupations = ...;
+ return new BuilderExample(name, age, occupations);
+ }
+
+ @java.lang.Override
+ public String toString() {
+ return "BuilderExample.BuilderExampleBuilder(name = " + this.name + ", age = " + this.age + ", occupations = " + this.occupations + ")";
+ }
+ }
+} \ No newline at end of file
diff --git a/usage_examples/BuilderExample_pre.jpage b/usage_examples/BuilderExample_pre.jpage
new file mode 100644
index 00000000..374799ad
--- /dev/null
+++ b/usage_examples/BuilderExample_pre.jpage
@@ -0,0 +1,10 @@
+import lombok.Builder;
+import lombok.Singular;
+import java.util.Set;
+
+@Builder
+public class BuilderExample {
+ private String name;
+ private int age;
+ @Singular Set<String> occupations;
+}
diff --git a/usage_examples/Singular-snippetExample_post.jpage b/usage_examples/Singular-snippetExample_post.jpage
new file mode 100644
index 00000000..689d97e8
--- /dev/null
+++ b/usage_examples/Singular-snippetExample_post.jpage
@@ -0,0 +1,160 @@
+import java.util.Collection;
+import java.util.Set;
+import java.util.SortedMap;
+import com.google.common.collect.ImmutableList;
+
+public class SingularExample<T extends Number> {
+ private Set<String> occupations;
+ private ImmutableList<String> axes;
+ private SortedMap<Integer, T> elves;
+ private Collection<?> minutiae;
+
+ SingularExample(final Set<String> occupations, final ImmutableList<String> axes, final SortedMap<Integer, T> elves, final Collection<?> minutiae) {
+ this.occupations = occupations;
+ this.axes = axes;
+ this.elves = elves;
+ this.minutiae = minutiae;
+ }
+
+ public static class SingularExampleBuilder<T extends Number> {
+ private java.util.ArrayList<String> occupations;
+ private com.google.common.collect.ImmutableList.Builder<String> axes;
+ private java.util.ArrayList<Integer> elves$key;
+ private java.util.ArrayList<T> elves$value;
+ private java.util.ArrayList<java.lang.Object> minutiae;
+
+ SingularExampleBuilder() {
+ }
+
+ public SingularExampleBuilder<T> occupation(final String occupation) {
+ if (this.occupations == null) {
+ this.occupations = new java.util.ArrayList<String>();
+ }
+
+ this.occupations.add(occupation);
+ return this;
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public SingularExampleBuilder<T> occupations(final java.util.Collection<? extends String> occupations) {
+ if (this.occupations == null) {
+ this.occupations = new java.util.ArrayList<String>();
+ }
+
+ this.occupations.addAll(occupations);
+ return this;
+ }
+
+ public SingularExampleBuilder<T> axis(final String axis) {
+ if (this.axes == null) {
+ this.axes = com.google.common.collect.ImmutableList.builder();
+ }
+
+ this.axes.add(axis);
+ return this;
+ }
+
+ public SingularExampleBuilder<T> axes(final java.lang.Iterable<? extends String> axes) {
+ if (this.axes == null) {
+ this.axes = com.google.common.collect.ImmutableList.builder();
+ }
+
+ this.axes.addAll(axes);
+ return this;
+ }
+
+ public SingularExampleBuilder<T> elf(final Integer elfKey, final T elfValue) {
+ if (this.elves$key == null) {
+ this.elves$key = new java.util.ArrayList<Integer>();
+ this.elves$value = new java.util.ArrayList<T>();
+ }
+
+ this.elves$key.add(elfKey);
+ this.elves$value.add(elfValue);
+ return this;
+ }
+
+ public SingularExampleBuilder<T> elves(final java.util.Map<? extends Integer, ? extends T> elves) {
+ if (this.elves$key == null) {
+ this.elves$key = new java.util.ArrayList<Integer>();
+ this.elves$value = new java.util.ArrayList<T>();
+ }
+
+ for (final java.util.Map.Entry<? extends Integer, ? extends T> $lombokEntry : elves.entrySet()) {
+ this.elves$key.add($lombokEntry.getKey());
+ this.elves$value.add($lombokEntry.getValue());
+ }
+ return this;
+ }
+
+ public SingularExampleBuilder<T> minutia(final java.lang.Object minutia) {
+ if (this.minutiae == null) {
+ this.minutiae = new java.util.ArrayList<java.lang.Object>();
+ }
+
+ this.minutiae.add(minutia);
+ return this;
+ }
+
+ public SingularExampleBuilder<T> minutiae(final java.util.Collection<?> minutiae) {
+ if (this.minutiae == null) {
+ this.minutiae = new java.util.ArrayList<java.lang.Object>();
+ }
+
+ this.minutiae.addAll(minutiae);
+ return this;
+ }
+
+ public SingularExample<T> build() {
+ java.util.Set<String> occupations;
+ switch (this.occupations == null ? 0 : this.occupations.size()) {
+ case 0:
+ occupations = java.util.Collections.emptySet();
+ break;
+
+ case 1:
+ occupations = java.util.Collections.singleton(this.occupations.get(0));
+ break;
+
+ default:
+ occupations = new java.util.LinkedHashSet<String>(this.occupations.size() < 1073741824 ? 1 + this.occupations.size() + (this.occupations.size() - 3) / 3 : java.lang.Integer.MAX_VALUE);
+ occupations.addAll(this.occupations);
+ occupations = java.util.Collections.unmodifiableSet(occupations);
+
+ }
+
+ com.google.common.collect.ImmutableList<String> axes = this.axes == null ? com.google.common.collect.ImmutableList.<String>of() : this.axes.build();
+
+ java.util.SortedMap<Integer, T> elves = new java.util.TreeMap<Integer, T>();
+ if (this.elves$key != null) for (int $i = 0; $i < (this.elves$key == null ? 0 : this.elves$key.size()); $i++) elves.put(this.elves$key.get($i), this.elves$value.get($i));
+ elves = java.util.Collections.unmodifiableSortedMap(elves);
+
+ java.util.Collection<java.lang.Object> minutiae;
+ switch (this.minutiae == null ? 0 : this.minutiae.size()) {
+ case 0:
+ minutiae = java.util.Collections.emptyList();
+ break;
+
+ case 1:
+ minutiae = java.util.Collections.singletonList(this.minutiae.get(0));
+ break;
+
+ default:
+ minutiae = java.util.Collections.unmodifiableList(new java.util.ArrayList<java.lang.Object>(this.minutiae));
+
+ }
+
+ return new SingularExample<T>(occupations, axes, elves, minutiae);
+ }
+
+ @java.lang.Override
+ public java.lang.String toString() {
+ return "SingularExample.SingularExampleBuilder(occupations=" + this.occupations + ", axes=" + this.axes + ", elves$key=" + this.elves$key + ", elves$value=" + this.elves$value + ", minutiae=" + this.minutiae + ")";
+ }
+ }
+
+ @java.lang.SuppressWarnings("all")
+ public static <T extends Number> SingularExampleBuilder<T> builder() {
+ return new SingularExampleBuilder<T>();
+ }
+}
diff --git a/usage_examples/Singular-snippetExample_pre.jpage b/usage_examples/Singular-snippetExample_pre.jpage
new file mode 100644
index 00000000..65f6bbc8
--- /dev/null
+++ b/usage_examples/Singular-snippetExample_pre.jpage
@@ -0,0 +1,14 @@
+import lombok.Builder;
+import lombok.Singular;
+import java.util.Collection;
+import java.util.Set;
+import java.util.SortedMap;
+import com.google.common.collect.ImmutableList;
+
+@Builder
+public class SingularExample<T extends Number> {
+ private @Singular Set<String> occupations;
+ private @Singular("axis") ImmutableList<String> axes;
+ private @Singular SortedMap<Integer, T> elves;
+ private @Singular Collection<?> minutiae;
+}
diff --git a/usage_examples/experimental/BuilderExample_post.jpage b/usage_examples/experimental/BuilderExample_post.jpage
deleted file mode 100644
index 624b236b..00000000
--- a/usage_examples/experimental/BuilderExample_post.jpage
+++ /dev/null
@@ -1,40 +0,0 @@
-public class BuilderExample {
- private String name;
- private int age;
-
- BuilderExample(String name, int age) {
- this.name = name;
- this.age = age;
- }
-
- public static BuilderExampleBuilder builder() {
- return new BuilderExampleBuilder();
- }
-
- public static class BuilderExampleBuilder {
- private String name;
- private int age;
-
- BuilderExampleBuilder() {
- }
-
- public BuilderExampleBuilder name(String name) {
- this.name = name;
- return this;
- }
-
- public BuilderExampleBuilder age(int age) {
- this.age = age;
- return this;
- }
-
- public BuilderExample build() {
- return new BuilderExample(name, age);
- }
-
- @java.lang.Override
- public String toString() {
- return "BuilderExample.BuilderExampleBuilder(name = " + this.name + ", age = " + this.age + ")";
- }
- }
-} \ No newline at end of file
diff --git a/usage_examples/experimental/BuilderExample_pre.jpage b/usage_examples/experimental/BuilderExample_pre.jpage
deleted file mode 100644
index 9c754352..00000000
--- a/usage_examples/experimental/BuilderExample_pre.jpage
+++ /dev/null
@@ -1,7 +0,0 @@
-import lombok.experimental.Builder;
-
-@Builder
-public class BuilderExample {
- private String name;
- private int age;
-}