# Package org.eclipse.handly.model.impl

Defines the implementation-side API for models that want to support the API provided in `org.eclipse.handly.model`.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  IElementDeltaImpl | All `IElementDelta`s must implement this interface.
  IElementImpl | All `IElement`s must implement this interface.
  IElementImplExtension | Extension of `IElementImpl` that introduces the notion of element's cached body.
  IModelImpl | All `IModel`s must implement this interface.
  IReconcileStrategy | Reconciles a model based on text of a particular content type.
  ISourceConstructImpl | All `ISourceConstruct`s must implement this interface.
  ISourceConstructImplExtension | Extension of `ISourceConstructImpl` that introduces the notion of element's occurrence count.
  ISourceElementImpl | All `ISourceElement`s must implement this interface.
  ISourceFileImpl | All `ISourceFile`s must implement this interface.
  ISourceFileImplExtension | Extension of `ISourceFileImpl` that introduces the notion of working copy.
  IWorkingCopyCallback | Receives notifications related to the lifecycle of a working copy and intercepts calls related to reconciling of the working copy.
  IWorkingCopyInfo | Groups objects related to a working copy.

- Class Summary
  Class | Description
  --- | ---
  DefaultWorkingCopyCallback | Default implementation of `IWorkingCopyCallback`.
  WorkingCopyCallback | A partial implementation of `IWorkingCopyCallback`, which clients may opt to extend instead of implementing the interface directly.

- Enum Summary
  Enum | Description
  --- | ---
  IElementImplExtension.CloseHint | Indicates reason for element closing.

## Package org.eclipse.handly.model.impl Description

Defines the implementation-side API for models that want to support the API provided in `org.eclipse.handly.model`. So, each `IModel` must implement `IModelImpl`, each `IElement` must implement `IElementImpl`, etc.

Copyright (c) 2014, 2020 1C-Soft LLC and others. Made available under the Eclipse Public License 2.0