package eu.europeana.cloud.service.coordination.configuration; /** * Can be used to set / retrieve Dynamic Properties. * * Dynamic Properties are (String) values that can be automatically updated at * Runtime (on-the-fly). * * Dynamic properties should be used for those kind of values that are possible * to change. If the property is being read only once, using a Dynamic Property * is pointless (the property could just be stored in a configuration file). // * * */ public interface DynamicPropertyManager { /** * @param dynamicPropertyUpdatedValue * Sets the current value of the specified {{dynamicProperty}} to * {{dynamicPropertyUpdatedValue}} */ void updateValue(final String dynamicProperty, final String dynamicPropertyUpdatedValue); /** * @return the current value of the specified {{dynamicProperty}} */ String getCurrentValue(final String dynamicProperty); /** * Subscribes for updates on the specified dynamicProperty. */ void addUpdateListener(DynamicPropertyListener l, String dynamicProperty); /** * Removes the listener. */ void removeUpdateListener(DynamicPropertyListener l); }