mirror of
https://github.com/tiennm99/lombok.git
synced 2026-10-14 16:17:34 +00:00
SuperBuilder: fixed ObtainVia
This commit is contained in:
1 parent
da59d2d637
commit
a2b884c711
4 files changed
+84
-5
No files matched your search
@@ -1,15 +1,20 @@
|
||||
import java.util.List;
|
||||
|
||||
public class SuperBuilderBasicToBuilder {
|
||||
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Parent {
|
||||
public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
|
||||
private @java.lang.SuppressWarnings("all") int field1;
|
||||
private @java.lang.SuppressWarnings("all") int obtainViaField;
|
||||
private @java.lang.SuppressWarnings("all") int obtainViaMethod;
|
||||
private @java.lang.SuppressWarnings("all") String obtainViaStaticMethod;
|
||||
private @java.lang.SuppressWarnings("all") java.util.ArrayList<String> items;
|
||||
public ParentBuilder() {
|
||||
super();
|
||||
}
|
||||
protected @java.lang.SuppressWarnings("all") B $fillValuesFrom(final C instance) {
|
||||
field1(instance.field1);
|
||||
obtainViaField(instance.field1);
|
||||
obtainViaMethod(instance.method());
|
||||
obtainViaStaticMethod(Parent.staticMethod(instance));
|
||||
items(((instance.items == null) ? java.util.Collections.emptyList() : instance.items));
|
||||
return self();
|
||||
}
|
||||
@@ -19,6 +24,18 @@ public class SuperBuilderBasicToBuilder {
|
||||
this.field1 = field1;
|
||||
return self();
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") B obtainViaField(final int obtainViaField) {
|
||||
this.obtainViaField = obtainViaField;
|
||||
return self();
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") B obtainViaMethod(final int obtainViaMethod) {
|
||||
this.obtainViaMethod = obtainViaMethod;
|
||||
return self();
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") B obtainViaStaticMethod(final String obtainViaStaticMethod) {
|
||||
this.obtainViaStaticMethod = obtainViaStaticMethod;
|
||||
return self();
|
||||
}
|
||||
public @java.lang.SuppressWarnings("all") B item(String item) {
|
||||
if ((this.items == null))
|
||||
this.items = new java.util.ArrayList<String>();
|
||||
@@ -37,7 +54,7 @@ public class SuperBuilderBasicToBuilder {
|
||||
return self();
|
||||
}
|
||||
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
|
||||
return (((("SuperBuilderBasicToBuilder.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")");
|
||||
return (((((((((("SuperBuilderBasicToBuilder.Parent.ParentBuilder(field1=" + this.field1) + ", obtainViaField=") + this.obtainViaField) + ", obtainViaMethod=") + this.obtainViaMethod) + ", obtainViaStaticMethod=") + this.obtainViaStaticMethod) + ", items=") + this.items) + ")");
|
||||
}
|
||||
}
|
||||
private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends ParentBuilder<Parent, ParentBuilderImpl> {
|
||||
@@ -52,10 +69,22 @@ public class SuperBuilderBasicToBuilder {
|
||||
}
|
||||
}
|
||||
int field1;
|
||||
@lombok.Builder.ObtainVia(field = "field1") int obtainViaField;
|
||||
@lombok.Builder.ObtainVia(method = "method") int obtainViaMethod;
|
||||
@lombok.Builder.ObtainVia(method = "staticMethod",isStatic = true) String obtainViaStaticMethod;
|
||||
@lombok.Singular List<String> items;
|
||||
int method() {
|
||||
return 2;
|
||||
}
|
||||
private static String staticMethod(Parent instance) {
|
||||
return "staticMethod";
|
||||
}
|
||||
protected @java.lang.SuppressWarnings("all") Parent(final ParentBuilder<?, ?> b) {
|
||||
super();
|
||||
this.field1 = b.field1;
|
||||
this.obtainViaField = b.obtainViaField;
|
||||
this.obtainViaMethod = b.obtainViaMethod;
|
||||
this.obtainViaStaticMethod = b.obtainViaStaticMethod;
|
||||
java.util.List<String> items;
|
||||
switch (((b.items == null) ? 0 : b.items.size())) {
|
||||
case 0 :
|
||||
|
||||
Reference in new issue
Block a user