setter prefixes for SuperBuilder

setter prefixes for SuperBuilder [javac]
better javadoc for the SuperBuilder setterPrefix value
setter prefixes for SuperBuilder [ecj]
add test for SuperBuilder setter method customization
fix setter method customization with setterPrefix
This commit is contained in:
Jan Rieke committed 2020-02-08 16:09:56 +01:00
1 parent cf4e59662a
commit 6e2d23fdd7
12 files changed
+582 -43

No files matched your search

@@ -0,0 +1,50 @@
import java.util.List;
public class SuperBuilderCustomizedWithSetterPrefix {
public static class Parent {
public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
@java.lang.SuppressWarnings("all")
private int field1;
public B setField1(int field1) {
this.field1 = field1 + 1;
return self();
}
@java.lang.SuppressWarnings("all")
protected abstract B self();
@java.lang.SuppressWarnings("all")
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
public java.lang.String toString() {
return "SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder(field1=" + this.field1 + ")";
}
}
int field1;
@java.lang.SuppressWarnings("all")
private static final class ParentBuilderImpl extends SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<SuperBuilderCustomizedWithSetterPrefix.Parent, SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl> {
@java.lang.SuppressWarnings("all")
private ParentBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
protected SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
public SuperBuilderCustomizedWithSetterPrefix.Parent build() {
return new SuperBuilderCustomizedWithSetterPrefix.Parent(this);
}
}
@java.lang.SuppressWarnings("all")
protected Parent(final SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<?, ?> b) {
this.field1 = b.field1;
}
@java.lang.SuppressWarnings("all")
public static SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilder<?, ?> builder() {
return new SuperBuilderCustomizedWithSetterPrefix.Parent.ParentBuilderImpl();
}
}
public static void test() {
Parent x = Parent.builder().setField1(5).build();
}
}