aboutsummaryrefslogtreecommitdiffstats
path: root/config-lib
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-12-02 07:53:44 +0100
committerJon Bratseth <bratseth@gmail.com>2020-12-02 07:53:44 +0100
commitd5982ee7479179b6754b1b9cd4cdbc8140c5e961 (patch)
tree721db18f73b48066dfe9ad4e18066ac2b7955b65 /config-lib
parent4cf13bc7db215e77f7688e429f700880c115fe76 (diff)
Revert "Merge pull request #15581 from vespa-engine/revert-15578-bratseth/apply-on-restart-take-10"
This reverts commit 4cf13bc7db215e77f7688e429f700880c115fe76, reversing changes made to e21f385bd4f21326608f3a69325df4e96d4a65e5.
Diffstat (limited to 'config-lib')
-rw-r--r--config-lib/abi-spec.json4
-rw-r--r--config-lib/pom.xml6
-rw-r--r--config-lib/src/main/java/com/yahoo/config/ConfigBuilder.java1
-rw-r--r--config-lib/src/main/java/com/yahoo/config/ConfigInstance.java6
-rw-r--r--config-lib/src/main/java/com/yahoo/config/Node.java4
5 files changed, 17 insertions, 4 deletions
diff --git a/config-lib/abi-spec.json b/config-lib/abi-spec.json
index fa352d8f6bd..8a1cfa9834e 100644
--- a/config-lib/abi-spec.json
+++ b/config-lib/abi-spec.json
@@ -73,7 +73,9 @@
"public abstract boolean dispatchGetConfig(com.yahoo.config.ConfigInstance$Producer)",
"public abstract java.lang.String getDefName()",
"public abstract java.lang.String getDefNamespace()",
- "public abstract java.lang.String getDefMd5()"
+ "public abstract java.lang.String getDefMd5()",
+ "public boolean getApplyOnRestart()",
+ "public void setApplyOnRestart(boolean)"
],
"fields": []
},
diff --git a/config-lib/pom.xml b/config-lib/pom.xml
index 1002d43bc37..90c61725466 100644
--- a/config-lib/pom.xml
+++ b/config-lib/pom.xml
@@ -26,6 +26,12 @@
<artifactId>annotations</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>configgen</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
diff --git a/config-lib/src/main/java/com/yahoo/config/ConfigBuilder.java b/config-lib/src/main/java/com/yahoo/config/ConfigBuilder.java
index e35e6916849..30bef223045 100644
--- a/config-lib/src/main/java/com/yahoo/config/ConfigBuilder.java
+++ b/config-lib/src/main/java/com/yahoo/config/ConfigBuilder.java
@@ -5,7 +5,6 @@ package com.yahoo.config;
* Root interface for all config builders.
*
* @author gjoranv
- * @since 5.1.6
*/
public interface ConfigBuilder {
}
diff --git a/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java b/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java
index 04405839a9b..113e622a503 100644
--- a/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java
+++ b/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java
@@ -17,6 +17,7 @@ public abstract class ConfigInstance extends InnerNode {
/**
* Dispatches a getConfig() call if this instance's producer is of the right type
+ *
* @param producer a config producer
* @return true if this instance's producer was the correct type, and hence a getConfig call was dispatched
*/
@@ -26,6 +27,11 @@ public abstract class ConfigInstance extends InnerNode {
String getDefNamespace();
String getDefMd5();
+ /** Returns true if this instance should be applied on restart, false if it should be applied immediately */
+ default boolean getApplyOnRestart() { return false; }
+
+ default void setApplyOnRestart(boolean applyOnRestart) { throw new java.lang.UnsupportedOperationException(); }
+
}
public interface Producer {}
diff --git a/config-lib/src/main/java/com/yahoo/config/Node.java b/config-lib/src/main/java/com/yahoo/config/Node.java
index 8d16b9727c1..ed11bdc9891 100644
--- a/config-lib/src/main/java/com/yahoo/config/Node.java
+++ b/config-lib/src/main/java/com/yahoo/config/Node.java
@@ -5,7 +5,6 @@ package com.yahoo.config;
* The Node class is superclass for all nodes in a {@link
* ConfigInstance}. Important subclasses of this node are {@link
* InnerNode} and {@link LeafNode}.
- *
*/
public abstract class Node {
@@ -13,7 +12,7 @@ public abstract class Node {
* Postinitialize this node. Any node needing to process its values depending on the config
* id should override this method.
*
- * @param configId the configId of the ConfigInstance that owns (or is) this node
+ * @param configId the configId of the ConfigInstance that owns (or is) this node
*/
public void postInitialize(String configId) { return; }
@@ -26,4 +25,5 @@ public abstract class Node {
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
+
}