aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorArne Juul <arnej@yahooinc.com>2023-02-14 10:46:03 +0000
committerArne Juul <arnej@yahooinc.com>2023-02-14 10:54:02 +0000
commit130c1d8c456cf5a4e1a801899171436540413b96 (patch)
treec812a8810b448d8371c3b223d9ae93a7b5b7a9f5 /config-model
parentd72297682184050e8d93a6064f86ff6d1044d212 (diff)
add helper Base class for the usual case
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
index 27ebf3a9657..8398df6f5ac 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/VespaDomBuilder.java
@@ -84,7 +84,8 @@ public class VespaDomBuilder extends VespaModelBuilder {
* Base class for builders of producers using DOM. The purpose is to always
* include hostalias, baseport and user config overrides generically.
*
- * @param <T> an {@link com.yahoo.config.model.producer.TreeConfigProducer}
+ * @param <T> the type of producer to build
+ * @param <P> the child type held by the parent of the new producer, usually AnyConfigProducer
*/
public static abstract class DomConfigProducerBuilder<T extends AnyConfigProducer, P extends AnyConfigProducer>
{
@@ -170,13 +171,18 @@ public class VespaDomBuilder extends VespaModelBuilder {
}
}
+ // helper in the usual case where P is AnyConfigProducer
+ public static abstract class DomConfigProducerBuilderBase<T extends AnyConfigProducer>
+ extends DomConfigProducerBuilder<T, AnyConfigProducer>
+ {}
+
/**
* The SimpleConfigProducer is the producer for elements such as container.
* Must support overrides for that too, hence this builder
*
* @author vegardh
*/
- static class DomSimpleConfigProducerBuilder extends DomConfigProducerBuilder<SimpleConfigProducer<AnyConfigProducer>, AnyConfigProducer> {
+ static class DomSimpleConfigProducerBuilder extends DomConfigProducerBuilderBase<SimpleConfigProducer<AnyConfigProducer>> {
private final String configId;
@@ -191,7 +197,7 @@ public class VespaDomBuilder extends VespaModelBuilder {
}
}
- public static class DomRootBuilder extends VespaDomBuilder.DomConfigProducerBuilder<ApplicationConfigProducerRoot, AnyConfigProducer> {
+ public static class DomRootBuilder extends VespaDomBuilder.DomConfigProducerBuilderBase<ApplicationConfigProducerRoot> {
private final String name;
/**