Class PipelinedViewerUpdate
- java.lang.Object
-
- org.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 usePipelinedViewerUpdate
as the input and return type from intercept methods onIPipelinedTreeContentProvider
.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 toStructuredViewer.refresh()
-methods orColumnViewer.update(Object, String[])
-methods. Theproperties
field is only applicable forupdate()
calls and theupdateLabels
field is only applicable forrefresh()
calls.- Since:
- 3.2
-
-
Constructor Summary
Constructors Constructor Description PipelinedViewerUpdate()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String[]
getProperties(Object aTarget)
Properties allow optimization forupdate
calls.Set
getRefreshTargets()
boolean
isUpdateLabels()
void
setProperties(Object aTarget, String[] theProperties)
Properties allow optimization forupdate
calls.void
setUpdateLabels(boolean toUpdateLabels)
-
-
-
Method Detail
-
getProperties
public final String[] getProperties(Object aTarget)
Properties allow optimization forupdate
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 forupdate
calls.- Parameters:
aTarget
- The target of the properties.theProperties
- The properties to pass along to theupdate
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 torefresh
should force the update of the labels in addition to refreshing the structure.
-
-