public void updateAll() { for (Binding binding : bindings) { binding.update(ModelUpdates.ALL); } } }
/** * {@inheritDoc} */ public <T extends Enum<T> & ModelUpdate> void modelUpdated(T... changed) { for (Binding binding : bindings) { binding.update(changed); } }
/** * {@inheritDoc} */ public <T extends Enum<T> & ModelUpdate> void modelUpdated(final T... changed) { final Set<WeakReference<Binding>> toRemove = Sets.newHashSet(); for (final WeakReference<Binding> weakBinding : bindings) { final Binding binding = weakBinding.get(); if (binding != null) { binding.update(changed); } else { toRemove.add(weakBinding); } } if (!toRemove.isEmpty()) { bindings.removeAll(toRemove); } }