public void bind() { if (!bound) { bound = true; for (BindingUpdatable binding : bindings) { binding.bind(); } } }
public void unbind() { if (bound) { for (BindingUpdatable binding : bindings) { binding.unbind(); } bound = false; } }
public void reverseUpdate() { for (BindingUpdatable binding : bindings) { binding.reverseUpdate(); } }
public void update() { for (BindingUpdatable binding : bindings) { binding.update(); } }
public void addBinding(BindingUpdatable binding) { if (bound) binding.bind(); // bind is idempotent, so no state checking bindings.add(binding); }