@Override public void call(Void value) { w.dispose(); } });
@Override public synchronized void dispose() { for (Entry<String, IObservableValue> entry : expressionMap.entrySet()) { entry.getValue().dispose(); } expressionMap.clear(); super.dispose(); }
@Override public void dispose() { if (elementNodes != null) { if (!elementNodes.isEmpty()) { TreeNode[] nodes = new TreeNode[elementNodes.size()]; elementNodes.values().toArray(nodes); for (TreeNode node : nodes) { node.dispose(); } elementNodes.clear(); } elementNodes = null; } if (viewerObservable != null) { viewerObservable.dispose(); viewerObservable = null; } viewerUpdater = null; comparer = null; knownElements = null; unmodifiableKnownElements = null; collectionFactory = null; asyncUpdateRunnable = null; }
@Override public void dispose() { if (observableCollection != null) removeCollectionChangeListener(observableCollection); if (viewerObservable != null) { viewerObservable.dispose(); viewerObservable = null; } viewerUpdater = null; knownElements = null; unmodifiableKnownElements = null; realizedElements = null; unmodifiableRealizedElements = null; display = null; }
private void removeDetailObservable(Object removedKey) { if (isDisposed()) { return; } IObservableValue detailValue = (IObservableValue) keyDetailMap .remove(removedKey); staleDetailObservables.remove(detailValue); detailValue.dispose(); }
protected void unhookListener(Object removedKey) { if (isDisposed()) { return; } IObservableValue detailValue = (IObservableValue) detailObservableValueMap .remove(removedKey); staleDetailObservables.remove(detailValue); detailValue.dispose(); }
public synchronized void dispose() { cancelScheduledUpdate(); if (observable != null) { observable.dispose(); observable = null; } super.dispose(); }
/** * Returns the value of the property on the specified source object * * @param source * the property source * @return the current value of the source's value property * @noreference This method is not intended to be referenced by clients. * @since 1.3 */ protected T doGetValue(S source) { IObservableValue<T> observable = observe(source); try { return observable.getValue(); } finally { observable.dispose(); } }
@Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { if (elementNodes != null && !elementNodes.isEmpty()) { // Ensure we flush any observable collection listeners TreeNode[] oldNodes = new TreeNode[elementNodes.size()]; elementNodes.values().toArray(oldNodes); for (TreeNode oldNode : oldNodes) oldNode.dispose(); elementNodes.clear(); elementNodes = null; } setViewer(viewer); knownElements.clear(); if (realizedElements != null) realizedElements.clear(); if (newInput != null) { getElements(newInput); } }
/** * Returns the value of the property on the specified source object * * @param source * the property source * @return the current value of the source's value property * @noreference This method is not intended to be referenced by clients. * @since 1.3 */ protected T doGetValue(S source) { IObservableValue<T> observable = observe(source); try { return observable.getValue(); } finally { observable.dispose(); } }
public synchronized void dispose() { if (masterList != null) { masterList.removeListChangeListener(masterListListener); masterList.removeStaleListener(masterStaleListener); } if (detailList != null) { for (Iterator iter = detailList.iterator(); iter.hasNext();) { IObservableValue detailValue = (IObservableValue) iter.next(); detailValue.dispose(); } detailList.clear(); } masterList = null; detailFactory = null; detailType = null; masterListListener = null; detailValueListener = null; masterDetailMap = null; staleDetailObservables = null; super.dispose(); }
/** * Sets the source's value property to the specified vlaue * * @param source * the property source * @param value * the new value * @since 1.3 * @noreference This method is not intended to be referenced by clients. */ protected void doSetValue(S source, T value) { IObservableValue<T> observable = observe(source); try { observable.setValue(value); } finally { observable.dispose(); } }
/** * Sets the source's value property to the specified vlaue * * @param source * the property source * @param value * the new value * @since 1.3 * @noreference This method is not intended to be referenced by clients. */ protected void doSetValue(S source, T value) { IObservableValue<T> observable = observe(source); try { observable.setValue(value); } finally { observable.dispose(); } }
private Object removeDetailObservable(Object masterElement, int index) { IObservableValue detail = (IObservableValue) detailList.remove(index); Object detailValue = detail.getValue(); DetailEntry detailEntry = (DetailEntry) masterDetailMap .get(masterElement); // We may only dispose the detail observable ASA there are no more // masters referencing it. detailEntry.masterReferenceCount--; if (detailEntry.masterReferenceCount == 0) { masterDetailMap.remove(masterElement); staleDetailObservables.remove(detail); detail.dispose(); } return detailValue; }
public synchronized void dispose() { super.dispose(); if (outerObservableValue != null) { outerObservableValue.removeValueChangeListener(outerChangeListener); } if (innerObservableValue != null) { innerObservableValue.removeValueChangeListener(innerChangeListener); innerObservableValue.dispose(); } outerObservableValue = null; outerChangeListener = null; currentOuterValue = null; factory = null; innerObservableValue = null; innerChangeListener = null; }
public synchronized void dispose() { if (masterMap != null) { masterMap.removeMapChangeListener(masterMapListener); masterMap.removeStaleListener(masterStaleListener); } if (keyDetailMap != null) { for (Iterator iter = keyDetailMap.values().iterator(); iter .hasNext();) { IObservableValue detailValue = (IObservableValue) iter.next(); detailValue.dispose(); } keyDetailMap.clear(); } masterMap = null; observableValueFactory = null; detailValueType = null; keyDetailMap = null; masterStaleListener = null; detailStaleListener = null; staleDetailObservables = null; super.dispose(); }
public void dispose() { if (targets != null) { targets.clear(); // Remove listeners from dependencies } if (unmodifiableValidationStatus != null) { unmodifiableValidationStatus.dispose(); unmodifiableValidationStatus = null; } if (validationStatus != null) { validationStatus.dispose(); validationStatus = null; } if (unmodifiableTargets != null) { unmodifiableTargets.dispose(); unmodifiableTargets = null; } if (targets != null) { targets.dispose(); targets = null; } if (models != null) { models.dispose(); models = null; } realm = null; super.dispose(); }
@Override public void dispose() { if (targets != null) { targets.clear(); // Remove listeners from dependencies } if (unmodifiableValidationStatus != null) { unmodifiableValidationStatus.dispose(); unmodifiableValidationStatus = null; } if (validationStatus != null) { validationStatus.dispose(); validationStatus = null; } if (unmodifiableTargets != null) { unmodifiableTargets.dispose(); unmodifiableTargets = null; } if (targets != null) { targets.dispose(); targets = null; } if (models != null) { models.dispose(); models = null; } realm = null; super.dispose(); }
private void updateInnerObservableValue() { currentOuterValue = outerObservableValue.getValue(); if (innerObservableValue != null) { innerObservableValue.removeValueChangeListener(innerChangeListener); innerObservableValue.dispose(); } if (currentOuterValue == null) { innerObservableValue = null; } else { ObservableTracker.setIgnore(true); try { innerObservableValue = (IObservableValue) factory .createObservable(currentOuterValue); } finally { ObservableTracker.setIgnore(false); } DetailObservableHelper.warnIfDifferentRealms(getRealm(), innerObservableValue.getRealm()); if (detailType != null) { Object innerValueType = innerObservableValue.getValueType(); Assert .isTrue( detailType.equals(innerValueType), "Cannot change value type in a nested observable value, from " + innerValueType + " to " + detailType); //$NON-NLS-1$ //$NON-NLS-2$ } innerObservableValue.addValueChangeListener(innerChangeListener); } }