From 020f0a4cd1748624793b885a3e73548a8d49768e Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 1 Dec 2020 19:32:30 +0100 Subject: Revert "Merge pull request #15577 from vespa-engine/revert-15575-bratseth/apply-on-restart-take-9" This reverts commit b9f054f862e6fc7bdbf41b9404605e2a8ad6b249, reversing changes made to 535b586bae36880259a792e2292f02b8495950fe. --- .../src/main/java/com/yahoo/config/ConfigBuilder.java | 1 - .../src/main/java/com/yahoo/config/ConfigInstance.java | 13 +++++++++++++ config-lib/src/main/java/com/yahoo/config/Node.java | 4 ++-- 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'config-lib/src/main') 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..43fb52dcd72 100644 --- a/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java +++ b/config-lib/src/main/java/com/yahoo/config/ConfigInstance.java @@ -1,9 +1,16 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.config; +import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.logging.Level; + +import com.yahoo.config.codegen.CNode; +import com.yahoo.config.codegen.InnerCNode; +import com.yahoo.config.codegen.LeafCNode; /** * Represents an instance of an application config with a specific configId. @@ -17,6 +24,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 +34,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(); } + } -- cgit v1.2.3