mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
[lombok] IDEA-341962 IDEA-301474 improve delombok of SuperBuilder with Builder.Defaults
GitOrigin-RevId: dd3c7ae0bd7ee5168b669228e106c9741218ee24
This commit is contained in:
committed by
intellij-monorepo-bot
parent
01d336719b
commit
4cf257adaa
@@ -0,0 +1,55 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SuperBuilderWithBuilderDefault {
|
||||
|
||||
private List<String> listItems = new ArrayList<>();
|
||||
|
||||
protected SuperBuilderWithBuilderDefault(SuperBuilderWithBuilderDefault.SuperBuilderWithBuilderDefaultBuilder<?, ?> b) {
|
||||
if (b.listItems$set) {
|
||||
this.listItems = b.listItems$value;
|
||||
} else {
|
||||
this.listItems = $default$listItems();
|
||||
}
|
||||
}
|
||||
|
||||
private static List<String> $default$listItems() {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
public static SuperBuilderWithBuilderDefaultBuilder<?, ?> builder() {
|
||||
return new SuperBuilderWithBuilderDefaultBuilderImpl();
|
||||
}
|
||||
|
||||
public static abstract class SuperBuilderWithBuilderDefaultBuilder<C extends SuperBuilderWithBuilderDefault, B extends SuperBuilderWithBuilderDefaultBuilder<C, B>> {
|
||||
private List<String> listItems$value;
|
||||
private boolean listItems$set;
|
||||
|
||||
public B listItems(List<String> listItems) {
|
||||
this.listItems$value = listItems;
|
||||
this.listItems$set = true;
|
||||
return self();
|
||||
}
|
||||
|
||||
protected abstract B self();
|
||||
|
||||
public abstract C build();
|
||||
|
||||
public String toString() {
|
||||
return "SuperBuilderWithBuilderDefault.SuperBuilderWithBuilderDefaultBuilder(listItems$value=" + this.listItems$value + ")";
|
||||
}
|
||||
}
|
||||
|
||||
private static final class SuperBuilderWithBuilderDefaultBuilderImpl extends SuperBuilderWithBuilderDefaultBuilder<SuperBuilderWithBuilderDefault, SuperBuilderWithBuilderDefaultBuilderImpl> {
|
||||
private SuperBuilderWithBuilderDefaultBuilderImpl() {
|
||||
}
|
||||
|
||||
protected SuperBuilderWithBuilderDefaultBuilderImpl self() {
|
||||
return this;
|
||||
}
|
||||
|
||||
public SuperBuilderWithBuilderDefault build() {
|
||||
return new SuperBuilderWithBuilderDefault(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@lombok.experimental.SuperBuilder
|
||||
public class SuperBuilderWithBuilderDefault {
|
||||
<caret>
|
||||
@lombok.Builder.Default
|
||||
private List<String> listItems = new ArrayList<>();
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user