package dgm.configuration;
import java.util.*;
/**
* Compose multiple {@link ConfigurationMonitor}s
*
*/
public class CompositeConfigurationMonitor implements ConfigurationMonitor
{
private final List<ConfigurationMonitor> monitors = new ArrayList<ConfigurationMonitor>();
public CompositeConfigurationMonitor(ConfigurationMonitor... monitors)
{
this(Arrays.asList(monitors));
}
public CompositeConfigurationMonitor(Iterable<? extends ConfigurationMonitor> watchers)
{
for(ConfigurationMonitor w : watchers)
this.monitors.add(w);
}
@Override
public final void configurationChanged(String change)
{
for(ConfigurationMonitor w : monitors)
w.configurationChanged(change);
}
}