public abstract class WorkingCopyReconciler
extends org.eclipse.jface.text.reconciler.AbstractReconciler
| Constructor and Description |
|---|
WorkingCopyReconciler(IWorkingCopyManager workingCopyManager)
Creates a new working copy reconciler with the given working copy manager.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
addElementChangeListener(IElementChangeListener listener)
Registers the given element change listener with the underlying model.
|
protected void |
elementChanged(IElementChangeEvent event)
Notifies that this reconciler is affected in some way
by the given element change event.
|
protected void |
forceReconciling() |
protected java.lang.Object |
getReconcilerLock()
Returns the mutex for this reconciler.
|
org.eclipse.jface.text.reconciler.IReconcilingStrategy |
getReconcilingStrategy(java.lang.String contentType) |
protected void |
initialProcess() |
void |
install(org.eclipse.jface.text.ITextViewer textViewer) |
protected boolean |
isActive()
Returns whether this reconciler is currently active.
|
protected boolean |
isAffectedBy(IElementChangeEvent event)
Returns whether this reconciler is affected in some way
by the given element change event.
|
protected boolean |
isAffectedBy(IElementDelta delta,
ISourceFile workingCopy)
Returns whether this reconciler is affected by the given element delta
with regard to the given working copy.
|
protected void |
process(org.eclipse.jface.text.reconciler.DirtyRegion dirtyRegion) |
protected void |
reconcilerDocumentChanged(org.eclipse.jface.text.IDocument newDocument) |
protected abstract void |
removeElementChangeListener(IElementChangeListener listener)
Removes the given element change listener from the underlying model.
|
protected void |
setActive(boolean active)
Indicates a change in the active state of this reconciler.
|
void |
setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor monitor) |
void |
setReconcilingStrategy(org.eclipse.jface.text.reconciler.IReconcilingStrategy strategy)
Sets the reconciling strategy that is to be used by this reconciler.
|
void |
uninstall() |
aboutToBeReconciled, getDocument, getProgressMonitor, getTextViewer, isIncrementalReconciler, isRunningInReconcilerThread, reconcilerReset, setDelay, setIsAllowedToModifyDocument, setIsIncrementalReconciler, startReconcilingpublic WorkingCopyReconciler(IWorkingCopyManager workingCopyManager)
WorkingCopyReconcilingStrategy)
that is used irrespective of where a dirty region is located in the
reconciler's document.workingCopyManager - not nullpublic void setReconcilingStrategy(org.eclipse.jface.text.reconciler.IReconcilingStrategy strategy)
strategy - not nullpublic void setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor monitor)
setProgressMonitor in class org.eclipse.jface.text.reconciler.AbstractReconcilerpublic void install(org.eclipse.jface.text.ITextViewer textViewer)
WorkingCopyReconciler extends this method to register an
element change listener that notifies when a change in the underlying model affects the reconciler in some way, and also
to register a shell listener that sets
the active state of the reconciler when the reconciler's text viewer
is activated or deactivated.
install in interface org.eclipse.jface.text.reconciler.IReconcilerinstall in class org.eclipse.jface.text.reconciler.AbstractReconcilerpublic void uninstall()
uninstall in interface org.eclipse.jface.text.reconciler.IReconcileruninstall in class org.eclipse.jface.text.reconciler.AbstractReconcilerpublic org.eclipse.jface.text.reconciler.IReconcilingStrategy getReconcilingStrategy(java.lang.String contentType)
This implementation always returns the single strategy of this reconciler.
protected void initialProcess()
If the reconciling strategy of this reconciler supports
IReconcilingStrategyExtension, this implementation
invokes initialReconcile() on the strategy under the reconciler's
lock.
initialProcess in class org.eclipse.jface.text.reconciler.AbstractReconcilerprotected void process(org.eclipse.jface.text.reconciler.DirtyRegion dirtyRegion)
process in class org.eclipse.jface.text.reconciler.AbstractReconcilerprotected void forceReconciling()
forceReconciling in class org.eclipse.jface.text.reconciler.AbstractReconcilerprotected void reconcilerDocumentChanged(org.eclipse.jface.text.IDocument newDocument)
reconcilerDocumentChanged in class org.eclipse.jface.text.reconciler.AbstractReconcilerprotected java.lang.Object getReconcilerLock()
Default implementation returns this. Subclasses may override.
null)protected abstract void addElementChangeListener(IElementChangeListener listener)
listener - never nullprotected abstract void removeElementChangeListener(IElementChangeListener listener)
listener - never nullprotected boolean isAffectedBy(IElementChangeEvent event)
This implementation delegates to isAffectedBy(IElementDelta,
ISourceFile), passing the working copy for the reconciler's document.
event - never nulltrue if the reconciler is affected
by the given element change event, and false otherwiseprotected boolean isAffectedBy(IElementDelta delta, ISourceFile workingCopy)
delta - never nullworkingCopy - may be nulltrue if the reconciler is affected
by the given delta, and false otherwiseprotected void elementChanged(IElementChangeEvent event)
Note: This method may be called in any thread. The event object (and the deltas within it) is valid only for the duration of the invocation of this method.
This implementation schedules a runnable to execute on the UI thread,
to synchronize with setActive(boolean). The runnable will force
reconciling if the reconciler is active at that time; it will also record
the fact that a significant change occurred in the underlying model.
event - never nullprotected boolean isActive()
true if this reconciler is currently active,
and false otherwiseprotected void setActive(boolean active)
This implementation sets the active state of the reconciler to the given value. Also, it forces reconciling if a significant model change occurred while the reconciler was not active.
active - the boolean value to set for the reconciler active stateCopyright (c) 2014, 2020 1C-Soft LLC and others. Made available under the Eclipse Public License 2.0