Package org.eclipse.handly.model.impl

# Interface IReconcileStrategy

public interface IReconcileStrategy
Reconciles a model based on text of a particular content type.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Property<Boolean>`
  `RECONCILING_FORCED`
  Indicates whether reconciling is forced, i.e., the source text has not been modified since the last time the model was reconciled.
  `static final Property<Object>`
  `SOURCE_AST`
  Specifies the source AST for reconciling.
  `static final Property<String>`
  `SOURCE_CONTENTS`
  Specifies the source string for reconciling.
  `static final Property<ISnapshot>`
  `SOURCE_SNAPSHOT`
  Specifies the source snapshot for reconciling.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `reconcile(IContext context, org.eclipse.core.runtime.IProgressMonitor monitor)`
  Reconciles a model according to options specified in the given context.

- ## Field Details

  - ### RECONCILING_FORCED

    static final Property<Boolean> RECONCILING_FORCED
    Indicates whether reconciling is forced, i.e., the source text has not been modified since the last time the model was reconciled. Default value: `false`.
    See Also:
      - `reconcile(IContext, IProgressMonitor)`

  - ### SOURCE_AST

    static final Property<Object> SOURCE_AST
    Specifies the source AST for reconciling.
    See Also:
      - `reconcile(IContext, IProgressMonitor)`

  - ### SOURCE_CONTENTS

    static final Property<String> SOURCE_CONTENTS
    Specifies the source string for reconciling.
    See Also:
      - `reconcile(IContext, IProgressMonitor)`

  - ### SOURCE_SNAPSHOT

    static final Property<ISnapshot> SOURCE_SNAPSHOT
    Specifies the source snapshot for reconciling.
    See Also:
      - `reconcile(IContext, IProgressMonitor)`

- ## Method Details

  - ### reconcile

    void reconcile(IContext context, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
    Reconciles a model according to options specified in the given context.

    The following context options, if simultaneously present, must be mutually consistent:

    - `SOURCE_AST` - Specifies the AST to use when reconciling. The AST is safe to read in the dynamic context of this method call, but must not be modified.
    - `SOURCE_CONTENTS` - Specifies the source string to use when reconciling.

    At least one of `SOURCE_AST` or `SOURCE_CONTENTS` must have a non-null value in the given context.

    The given context may provide additional data that this method can use, including the following:

    - `RECONCILING_FORCED` - Indicates whether reconciling is forced, i.e., the source text has not been modified since the last time the model was reconciled.
    - `SOURCE_SNAPSHOT` - Specifies the source snapshot from which `SOURCE_AST` was created or `SOURCE_CONTENTS` was obtained. The snapshot may expire.

    This method makes no guarantees about synchronization of reconcile operations. Such guarantees must be provided by the caller.

    Parameters:
      `context` - the operation context (not `null`)
      `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 model could not be reconciled
      `org.eclipse.core.runtime.OperationCanceledException` - if this method is canceled