Skip to content

Commit b56ccfd

Browse files
committed
Add private Builder constructor
1 parent 7d888c6 commit b56ccfd

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

src/main/java/com/github/junkfactory/innerbuilder/JavaInnerBuilderGenerator.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ public void run() {
9393
addMethod(targetClass, null, toBuilderMethod, true);
9494
}
9595

96+
//builder constructor
97+
var builderConstructor = generateBuilderConstructor();
98+
addMethod(builderClass, null, builderConstructor, false);
99+
96100
// builder methods
97101
PsiElement lastAddedElement = null;
98102
for (var member : fieldMembers) {
@@ -108,6 +112,12 @@ public void run() {
108112
CodeStyleManager.getInstance(project).reformat(builderClass);
109113
}
110114

115+
private PsiMethod generateBuilderConstructor() {
116+
var builderConstructor = psiElementFactory.createConstructor(BUILDER_CLASS_NAME);
117+
PsiUtil.setModifierProperty(builderConstructor, PsiModifier.PRIVATE, true);
118+
return builderConstructor;
119+
}
120+
111121
private PsiMethod generateToBuilderMethod(final PsiType builderType,
112122
final Collection<PsiFieldMember> fields) {
113123

0 commit comments

Comments
 (0)