MultiListItr() { iters = new Iterator[lists.length]; for (int i = 0; i < lists.length; i++) { iters[i] = lists[i].iterator(); } }
@SuppressWarnings("unchecked") @Override public Iterator<E> iterator() { return this.list.iterator(); }
@Override public Iterator<E> iterator() { getterCalled(); return new Iterator<E>() { Iterator<T> it = masterList.iterator(); @Override public boolean hasNext() { getterCalled(); return it.hasNext(); } @Override public E next() { getterCalled(); T masterElement = it.next(); return cache.get(masterElement); } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
@Override public Iterator<T> iterator() { getterCalled(); return new Iterator<T>() { Iterator<M> it = masterList.iterator(); @Override public boolean hasNext() { getterCalled(); return it.hasNext(); } @Override public T next() { getterCalled(); M masterElement = it.next(); return detailProperty.getValue(masterElement); } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
@Override public Iterator<E> iterator() { getterCalled(); return new Iterator<E>() { Iterator<T> it = masterList.iterator(); @Override public boolean hasNext() { getterCalled(); return it.hasNext(); } @Override public E next() { getterCalled(); T masterElement = it.next(); return cache.get(masterElement); } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
@Override public Iterator<T> iterator() { getterCalled(); return new Iterator<T>() { Iterator<M> it = masterList.iterator(); @Override public boolean hasNext() { getterCalled(); return it.hasNext(); } @Override public T next() { getterCalled(); M masterElement = it.next(); return detailProperty.getValue(masterElement); } @Override public void remove() { throw new UnsupportedOperationException(); } }; }
@Override public boolean contains(Object o) { getterCalled(); for (Iterator<M> it = masterList.iterator(); it.hasNext();) { if (Util.equals(detailProperty.getValue(it.next()), o)) return true; } return false; }
/** * Disposes of this manager and all observables that it manages. */ public void dispose() { Set observables = new IdentitySet(); observables.addAll(managedObservables); for (Iterator it = contexts.keySet().iterator(); it.hasNext();) { DataBindingContext context = (DataBindingContext) it.next(); Pair trackModelsOrTargets = (Pair) contexts.get(context); boolean disposeTargets = ((Boolean) trackModelsOrTargets.a) .booleanValue(); boolean disposeModels = ((Boolean) trackModelsOrTargets.b) .booleanValue(); for (Iterator it2 = context.getBindings().iterator(); it2.hasNext();) { Binding binding = (Binding) it2.next(); if (disposeTargets) { observables.add(binding.getTarget()); } if (disposeModels) { observables.add(binding.getModel()); } } } observables.removeAll(excludedObservables); for (Iterator it = observables.iterator(); it.hasNext();) { IObservable observable = (IObservable) it.next(); observable.dispose(); } } }
/** * Disposes of this manager and all observables that it manages. */ public void dispose() { Set observables = new IdentitySet(); observables.addAll(managedObservables); for (Entry<DataBindingContext, Pair> entry : contexts.entrySet()) { DataBindingContext context = entry.getKey(); Pair trackModelsOrTargets = entry.getValue(); boolean disposeTargets = ((Boolean) trackModelsOrTargets.a) .booleanValue(); boolean disposeModels = ((Boolean) trackModelsOrTargets.b) .booleanValue(); for (Iterator it2 = context.getBindings().iterator(); it2.hasNext();) { Binding binding = (Binding) it2.next(); if (disposeTargets) { observables.add(binding.getTarget()); } if (disposeModels) { observables.add(binding.getModel()); } } } observables.removeAll(excludedObservables); for (Iterator it = observables.iterator(); it.hasNext();) { IObservable observable = (IObservable) it.next(); observable.dispose(); } } }
private void handleUIChanged() { uiChanged = true; if (currentStatus != null) { handleStatusChanged(); } dbc.getValidationStatusProviders().removeListChangeListener( validationStatusProvidersListener); for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it .next(); IObservableList targets = validationStatusProvider.getTargets(); targets .removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()) .removeChangeListener(uiChangeListener); } } }
@Override public void handleListChange(ListChangeEvent event) { ListDiff diff = event.diff; for (ListDiffEntry listDiffEntry : diff.getDifferences()) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) listDiffEntry .getElement(); IObservableList targets = validationStatusProvider.getTargets(); if (listDiffEntry.isAddition()) { targets.addListChangeListener(validationStatusProviderTargetsListener); for (Iterator it = targets.iterator(); it.hasNext();) { ((IObservable) it.next()).addChangeListener(uiChangeListener); } } else { targets.removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator it = targets.iterator(); it.hasNext();) { ((IObservable) it.next()).removeChangeListener(uiChangeListener); } } } } };
/** * @noreference This method is not intended to be referenced by clients. */ protected void handleUIChanged() { uiChanged = true; if (currentStatus != null) { handleStatusChanged(); } dbc.getValidationStatusProviders().removeListChangeListener( validationStatusProvidersListener); for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it .next(); IObservableList targets = validationStatusProvider.getTargets(); targets .removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()) .removeChangeListener(uiChangeListener); } } }
@Override public void handleListChange(ListChangeEvent event) { ListDiff diff = event.diff; for (ListDiffEntry listDiffEntry : diff.getDifferences()) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) listDiffEntry .getElement(); IObservableList targets = validationStatusProvider.getTargets(); if (listDiffEntry.isAddition()) { targets .addListChangeListener(validationStatusProviderTargetsListener); for (Iterator it = targets.iterator(); it.hasNext();) { ((IObservable) it.next()) .addChangeListener(uiChangeListener); } } else { targets .removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator it = targets.iterator(); it.hasNext();) { ((IObservable) it.next()) .removeChangeListener(uiChangeListener); } } } } };
aggregateStatusProvider.dispose(); if (dbc != null && !uiChanged) { for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it targets .removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()) .removeChangeListener(uiChangeListener);
aggregateStatusProvider.dispose(); if (dbc != null && !uiChanged) { for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it targets .removeListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()) .removeChangeListener(uiChangeListener);
/** * Creates an updater for the given control and list. For each element of * the list, a child widget of the composite will be created using * {@link #createWidget(int)}. * * @param toUpdate * composite to update * @param model * an observable list to track */ public CompositeUpdater(Composite toUpdate, IObservableList model) { this.theComposite = toUpdate; this.model = model; model.addListChangeListener(privateInterface); theComposite.addDisposeListener(privateInterface); ObservableTracker.setIgnore(true); try { int index = 0; for (Iterator it = CompositeUpdater.this.model.iterator(); it .hasNext();) { Object element = it.next(); createChild(element, index++); } } finally { ObservableTracker.setIgnore(false); } }
dbc.getValidationStatusProviders().addListChangeListener( validationStatusProvidersListener); for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it targets .addListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()).addChangeListener(uiChangeListener);
dbc.getValidationStatusProviders().addListChangeListener( validationStatusProvidersListener); for (Iterator it = dbc.getValidationStatusProviders().iterator(); it .hasNext();) { ValidationStatusProvider validationStatusProvider = (ValidationStatusProvider) it targets .addListChangeListener(validationStatusProviderTargetsListener); for (Iterator iter = targets.iterator(); iter.hasNext();) { ((IObservable) iter.next()).addChangeListener(uiChangeListener);