Package org.eclipse.wst.xsl.ui.internal.contentoutline

## org.eclipse.wst.xsl.ui.internal.contentoutline
Class RefreshStructureJob

    package-private class RefreshStructureJob
    extends Job

This job holds a queue of updates (affected nodes) for multiple structured viewers. When a new request comes in, the current run is cancelled, the new request is added to the queue, then the job is re-scheduled. Support for multiple structured viewers is required because refresh updates are usually triggered by model changes, and the model may be visible in more than one viewer.

## Field Summary

`package-private static boolean` | `DEBUG` debug flag
`package-private java.util.Set` | `fRefreshViewers` the structured viewers
`package-private java.util.Set` | `fUpdateViewers`

## Constructor Summary

`RefreshStructureJob()`

## Method Summary

`protected void` | `canceling()`
`public void` | `refresh(StructuredViewer viewer , org.w3c.dom.Node node)` Invoke a refresh on the viewer on the given node.
`protected IStatus` | `run(IProgressMonitor monitor)`
`public void` | `update(StructuredViewer viewer , org.w3c.dom.Node node , java.lang.String[] properties)` Invoke a refresh on the viewer on the given node.

## Field Detail

## DEBUG

`package-private static boolean DEBUG`

debug flag

## fRefreshViewers

`package-private java.util.Set fRefreshViewers`

the structured viewers

## fUpdateViewers

`package-private java.util.Set fUpdateViewers`

## Constructor Detail

## RefreshStructureJob

`public RefreshStructureJob()`

## Methods Detail

## canceling

`protected void canceling()`

## refresh

`public void refresh(StructuredViewer viewer , org.w3c.dom.Node node)`

Invoke a refresh on the viewer on the given node.

### Parameters

`viewer`

`node`

## run

`protected IStatus run(IProgressMonitor monitor)`

### Parameters

`monitor`

### Returns

`IStatus`

## update

`public void update(StructuredViewer viewer , org.w3c.dom.Node node , java.lang.String[] properties)`

Invoke a refresh on the viewer on the given node.

### Parameters

`viewer`

`node`

`properties`