Package org.eclipse.handly.ui.text.reconciler

## Class WorkingCopyReconcilingStrategy

- java.lang.Object
- - org.eclipse.handly.ui.text.reconciler.WorkingCopyReconcilingStrategy

- All Implemented Interfaces:
    `org.eclipse.jface.text.reconciler.IReconcilingStrategy`, `org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension`

      public class WorkingCopyReconcilingStrategy
      extends java.lang.Object
      implements org.eclipse.jface.text.reconciler.IReconcilingStrategy, org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension

  Reconciles a working copy.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `WorkingCopyReconcilingStrategy​(java.util.function.Function<org.eclipse.jface.text.IDocument,​ISourceFile> documentToSourceFile)` | Creates a new working copy reconciling strategy with a function that is used to determine the source file for the reconciling strategy's document.
    `WorkingCopyReconcilingStrategy​(IWorkingCopyManager workingCopyManager)` | Creates a new working copy reconciling strategy with the given working copy manager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `initialReconcile()`
    `protected void` | `reconcile​(ISourceFile sourceFile, boolean initialReconcile, org.eclipse.core.runtime.IProgressMonitor monitor)` | Reconciles the given source file.
    `void` | `reconcile​(org.eclipse.jface.text.IRegion partition)`
    `void` | `reconcile​(org.eclipse.jface.text.reconciler.DirtyRegion dirtyRegion, org.eclipse.jface.text.IRegion subRegion)`
    `void` | `setDocument​(org.eclipse.jface.text.IDocument document)` |
    `void` | `setProgressMonitor​(org.eclipse.core.runtime.IProgressMonitor monitor)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WorkingCopyReconcilingStrategy

          public WorkingCopyReconcilingStrategy​(IWorkingCopyManager workingCopyManager)

      Creates a new working copy reconciling strategy with the given working copy manager. The working copy manager is used to determine the working copy for the reconciling strategy's document.
      Parameters:
        `workingCopyManager` - not `null`

    - #### WorkingCopyReconcilingStrategy

          public WorkingCopyReconcilingStrategy​(java.util.function.Function<org.eclipse.jface.text.IDocument,​ISourceFile> documentToSourceFile)

      Creates a new working copy reconciling strategy with a function that is used to determine the source file for the reconciling strategy's document.
      Parameters:
        `documentToSourceFile` - not `null`
      Since:
        1.5

  - ### Method Detail

    - #### setDocument

          public void setDocument​(org.eclipse.jface.text.IDocument document)

      Specified by:
        `setDocument` in interface `org.eclipse.jface.text.reconciler.IReconcilingStrategy`

    - #### setProgressMonitor

          public void setProgressMonitor​(org.eclipse.core.runtime.IProgressMonitor monitor)

      Specified by:
        `setProgressMonitor` in interface `org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension`

    - #### initialReconcile

          public final void initialReconcile()

      This implementation delegates to `reconcile(ISourceFile, boolean, IProgressMonitor)`, passing the working copy for the reconciling strategy's document and indicating that this is the initial reconcile; any exceptions are logged and not rethrown.

      Specified by:
        `initialReconcile` in interface `org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension`

    - #### reconcile

          public final void reconcile​(org.eclipse.jface.text.reconciler.DirtyRegion dirtyRegion,
                                      org.eclipse.jface.text.IRegion subRegion)

      This implementation delegates to `reconcile(ISourceFile, boolean, IProgressMonitor)`, passing the working copy for the reconciling strategy's document; any exceptions are logged and not rethrown.

      Specified by:
        `reconcile` in interface `org.eclipse.jface.text.reconciler.IReconcilingStrategy`

    - #### reconcile

          public final void reconcile​(org.eclipse.jface.text.IRegion partition)

      This implementation delegates to `reconcile(ISourceFile, boolean, IProgressMonitor)`, passing the working copy for the reconciling strategy's document; any exceptions are logged and not rethrown.

      Specified by:
        `reconcile` in interface `org.eclipse.jface.text.reconciler.IReconcilingStrategy`

    - #### reconcile

          protected void reconcile​(ISourceFile sourceFile,
                                   boolean initialReconcile,
                                   org.eclipse.core.runtime.IProgressMonitor monitor)
                            throws org.eclipse.core.runtime.CoreException

      Reconciles the given source file. Does nothing if the source file is not in working copy mode or if its buffer has not been modified since the last time it was reconciled.

      This implementation invokes `Elements.`reconcile`(sourceFile, monitor)`.

      Parameters:
        `sourceFile` - never `null`
        `initialReconcile` - `true` if this is the initial reconcile, and `false` otherwise
        `monitor` - a progress monitor, or `null` if progress reporting is not desired. The caller must not rely on `IProgressMonitor.done()` having been called by the receiver
      Throws:
        `org.eclipse.core.runtime.CoreException` - if the working copy could not be reconciled
        `org.eclipse.core.runtime.OperationCanceledException` - if this method is canceled