aboutsummaryrefslogtreecommitdiffstats
path: root/configgen/src/test
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-12-09 14:30:07 +0000
committerArne H Juul <arnej@yahooinc.com>2021-12-09 14:30:07 +0000
commitbd081410b1c6b0e54a4f0c45dd4fcfc0bffd8d21 (patch)
tree952b54ed95d438f1f0b4f93fb5b33190b2c3cce9 /configgen/src/test
parent450f9af0a88db88bffd3ac014ebd1e7266f82322 (diff)
add more convenience functions
* accept lambdas for struct members and map values also
Diffstat (limited to 'configgen/src/test')
-rw-r--r--configgen/src/test/java/com/yahoo/config/codegen/JavaClassBuilderTest.java1
-rw-r--r--configgen/src/test/resources/allfeatures.reference56
2 files changed, 57 insertions, 0 deletions
diff --git a/configgen/src/test/java/com/yahoo/config/codegen/JavaClassBuilderTest.java b/configgen/src/test/java/com/yahoo/config/codegen/JavaClassBuilderTest.java
index f9b36974e15..cce2d66b5f0 100644
--- a/configgen/src/test/java/com/yahoo/config/codegen/JavaClassBuilderTest.java
+++ b/configgen/src/test/java/com/yahoo/config/codegen/JavaClassBuilderTest.java
@@ -116,6 +116,7 @@ public class JavaClassBuilderTest {
JavaClassBuilder builder = new JavaClassBuilder(root, parser.getNormalizedDefinition(), null, null);
String[] configClassLines = builder.getConfigClass("AllfeaturesConfig").split("\n");
+ for (var line : configClassLines) { System.out.println(line); }
for (int i = 0; i < referenceClassLines.size(); i++) {
if (configClassLines.length <= i)
fail("Missing lines i generated config class. First missing line:\n" + referenceClassLines.get(i));
diff --git a/configgen/src/test/resources/allfeatures.reference b/configgen/src/test/resources/allfeatures.reference
index 08d8aa122c9..7698ea6727c 100644
--- a/configgen/src/test/resources/allfeatures.reference
+++ b/configgen/src/test/resources/allfeatures.reference
@@ -565,11 +565,33 @@ public final class AllfeaturesConfig extends ConfigInstance {
basic_struct = __builder;
return this;
}
+ /**
+ * Make a new builder and run the supplied function on it before adding it to the list
+ * @param __func lambda that modifies the given builder
+ * @return this builder
+ */
+ public Builder basic_struct(java.util.function.Consumer<Basic_struct.Builder> __func) {
+ Basic_struct.Builder __inner = new Basic_struct.Builder();
+ __func.accept(__inner);
+ basic_struct = __inner;
+ return this;
+ }
public Builder struct_of_struct(Struct_of_struct.Builder __builder) {
struct_of_struct = __builder;
return this;
}
+ /**
+ * Make a new builder and run the supplied function on it before adding it to the list
+ * @param __func lambda that modifies the given builder
+ * @return this builder
+ */
+ public Builder struct_of_struct(java.util.function.Consumer<Struct_of_struct.Builder> __func) {
+ Struct_of_struct.Builder __inner = new Struct_of_struct.Builder();
+ __func.accept(__inner);
+ struct_of_struct = __inner;
+ return this;
+ }
/**
* Add the given builder to this builder's list of MyArray builders
@@ -613,6 +635,18 @@ public final class AllfeaturesConfig extends ConfigInstance {
return this;
}
+ /**
+ * Make a new builder and run the supplied function on it before using it as the value
+ * @param __func lambda that modifies the given builder
+ * @return this builder
+ */
+ public Builder myMap(String __key, java.util.function.Consumer<MyMap.Builder> __func) {
+ MyMap.Builder __inner = new MyMap.Builder();
+ __func.accept(__inner);
+ myMap.put(__key, __inner);
+ return this;
+ }
+
private boolean _applyOnRestart = false;
@java.lang.Override
@@ -1317,11 +1351,33 @@ public final class AllfeaturesConfig extends ConfigInstance {
inner0 = __builder;
return this;
}
+ /**
+ * Make a new builder and run the supplied function on it before adding it to the list
+ * @param __func lambda that modifies the given builder
+ * @return this builder
+ */
+ public Builder inner0(java.util.function.Consumer<Inner0.Builder> __func) {
+ Inner0.Builder __inner = new Inner0.Builder();
+ __func.accept(__inner);
+ inner0 = __inner;
+ return this;
+ }
public Builder inner1(Inner1.Builder __builder) {
inner1 = __builder;
return this;
}
+ /**
+ * Make a new builder and run the supplied function on it before adding it to the list
+ * @param __func lambda that modifies the given builder
+ * @return this builder
+ */
+ public Builder inner1(java.util.function.Consumer<Inner1.Builder> __func) {
+ Inner1.Builder __inner = new Inner1.Builder();
+ __func.accept(__inner);
+ inner1 = __inner;
+ return this;
+ }
public Struct_of_struct build() {
return new Struct_of_struct(this);