Eclipse Platform
Release 3.3

org.eclipse.ui.navigator
Class PipelinedViewerUpdate

java.lang.Object
  extended byorg.eclipse.ui.navigator.PipelinedViewerUpdate

public final class PipelinedViewerUpdate
extends Object

A pipelined viewer update should map requests to refresh or update elements in the viewer to their correct, modified structure. Clients use PipelinedViewerUpdate as the input and return type from intercept methods on IPipelinedTreeContentProvider.

Clients should use the viewer update to describe how the request from the upstream extension (see IPipelinedTreeContentProvider for more information on upstream extensions) should be reshaped when applied to the tree. A request from an upstream extension to refresh a given element could result in multiple refresh requests from downstream extensions. Therefore, the refresh targets are modeled as a set.

Initially, this set will contain the original element that was passed to the refresh requests. Clients may squash the refresh by clearing the set, change the original target by removing the current element and adding a new target, or expand the refresh by adding more elements to the set.

A pipelined extension may receive a PipelinedViewerUpdate as the result of a call to StructuredViewer.refresh()-methods or ColumnViewer.update(Object, String[])-methods. The properties field is only applicable for update() calls and the updateLabels field is only applicable for refresh() calls.

Since:
3.2

Constructor Summary
PipelinedViewerUpdate()
           
 
Method Summary
 String[] getProperties(Object aTarget)
          Properties allow optimization for update calls.
 Set getRefreshTargets()
           
 boolean isUpdateLabels()
           
 void setProperties(Object aTarget, String[] theProperties)
          Properties allow optimization for update calls.
 void setUpdateLabels(boolean toUpdateLabels)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PipelinedViewerUpdate

public PipelinedViewerUpdate()
Method Detail

getProperties

public final String[] getProperties(Object aTarget)
Properties allow optimization for update calls.

Parameters:
aTarget - The target which may have specific properties associated with it for an optimized refresh.
Returns:
Returns the properties for the given target. If no properties are specified, then an empty array is returned. null will never be returned.

setProperties

public final void setProperties(Object aTarget,
                                String[] theProperties)
Properties allow optimization for update calls.

Parameters:
aTarget - The target of the properties.
theProperties - The properties to pass along to the update call.
See Also:
ColumnViewer.update(Object, String[])

getRefreshTargets

public final Set getRefreshTargets()
Returns:
Returns the current set of refresh targets. Clients may add or remove directly to or from this set.

isUpdateLabels

public final boolean isUpdateLabels()
Returns:
Returns the true if the labels should also be updated during the refresh.

setUpdateLabels

public final void setUpdateLabels(boolean toUpdateLabels)
Parameters:
toUpdateLabels - True indicates that calls to refresh should force the update of the labels in addition to refreshing the structure.

Eclipse Platform
Release 3.3

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2007. All rights reserved.