com.netflix.config
Class ChainedDynamicProperty

java.lang.Object
  extended by com.netflix.config.ChainedDynamicProperty

public class ChainedDynamicProperty
extends java.lang.Object

The class that provides the chaining functionality of dynamic properties. The idea is that the head property holds the current up-to-date value of the property and the "next" property in the chain serves as the default if the head property value does not exist or is not acceptable. Concrete implementation is available for IntProperty, StringProperty, BooleanProperty and FloatProperty.

For example

  DynamicStringProperty pString = DynamicPropertyFactory.getInstance().getStringProperty("defaultString", "default-default");
        ChainedDynamicProperty.StringProperty fString = new ChainedDynamicProperty.StringProperty("overrideString", pString);

        assertTrue("default-default".equals(fString.get()));

        ConfigurationManager.getConfigInstance().setProperty("defaultString", "default");
        assertTrue("default".equals(fString.get()));

        ConfigurationManager.getConfigInstance().setProperty("overrideString", "override");
        assertTrue("override".equals(fString.get()));

        ConfigurationManager.getConfigInstance().clearProperty("overrideString");
        assertTrue("default".equals(fString.get()));

        ConfigurationManager.getConfigInstance().clearProperty("defaultString");
        assertTrue("default-default".equals(fString.get()));

  
 

See Also:
ChainedDynamicProperty.IntProperty, ChainedDynamicProperty.StringProperty, ChainedDynamicProperty.BooleanProperty, ChainedDynamicProperty.FloatProperty

Nested Class Summary
static class ChainedDynamicProperty.BooleanProperty
           
static class ChainedDynamicProperty.ChainLink<T>
           
static class ChainedDynamicProperty.DynamicBooleanPropertyThatSupportsNull
           
static class ChainedDynamicProperty.FloatProperty
           
static class ChainedDynamicProperty.IntProperty
           
static class ChainedDynamicProperty.LongProperty
           
static class ChainedDynamicProperty.StringProperty
           
 
Constructor Summary
ChainedDynamicProperty()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainedDynamicProperty

public ChainedDynamicProperty()