package org.robobinding.property; import java.util.Collections; import java.util.Set; /** * * @since 1.0 * @version $Revision: 1.0 $ * @author Cheng Wei */ public class Dependency { private final ObservableBean observableBean; private final Set<String> dependentProperties; public Dependency(ObservableBean observableBean, Set<String> dependentProperties) { this.observableBean = observableBean; this.dependentProperties = dependentProperties; } public void addListenerToDependentProperties(PropertyChangeListener listener) { for (String dependentProperty : dependentProperties) { observableBean.addPropertyChangeListener(dependentProperty, listener); } } public void removeListenerOffDependentProperties(PropertyChangeListener listener) { for (String dependentProperty : dependentProperties) { observableBean.removePropertyChangeListener(dependentProperty, listener); } } public Set<String> getDependentProperties() { return Collections.unmodifiableSet(dependentProperties); } }