summaryrefslogtreecommitdiffstats
path: root/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
diff options
context:
space:
mode:
Diffstat (limited to 'configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java')
-rw-r--r--configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java b/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
index 548bd14ccb3..bbbb8676e3f 100644
--- a/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
+++ b/configgen/src/main/java/com/yahoo/config/codegen/BuilderGenerator.java
@@ -157,6 +157,18 @@ public class BuilderGenerator {
"}\n" + //
"\n" + //
"/**\n" + //
+ " * Make a new builder and run the supplied function on it before adding it to the list\n" + //
+ " * @param __func lambda that modifies the given builder\n" + //
+ " * @return this builder\n" + //
+ " */\n" + //
+ "public Builder " + n.getName() + "(java.util.function.Consumer<" + builderType(n) + "> __func) {\n" + //
+ " " + builderType(n) + " __inner = new " + builderType(n) +"();\n" + //
+ " __func.accept(__inner);\n" + //
+ " " + n.getName() + ".add(__inner);\n" + //
+ " return this;\n" + //
+ "}\n" + //
+ "\n" + //
+ "/**\n" + //
" * Set the given list as this builder's list of " + nodeClass(n) + " builders\n" + //
" * @param __builders a list of builders\n" + //
" * @return this builder\n" + //