# Package org.eclipse.handly.model.impl

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`. So, each `IModel` must implement `IModelImpl`, each `IElement` must implement `IElementImpl`, etc.

- Related Packages
  Package
  Description
  org.eclipse.handly.model
  Provides a common API for handle-based models.
  org.eclipse.handly.model.impl.support
  Provides basic facilities for implementing handle-based models supporting the API defined in `org.eclipse.handly.model`.
  org.eclipse.handly.model.adapter
  Supports adaptation of existing ("legacy") models to the API defined in `org.eclipse.handly.model`.
- Class
  Description
  DefaultWorkingCopyCallback
  Default implementation of `IWorkingCopyCallback`.
  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.
  IElementImplExtension.CloseHint
  Indicates reason for element closing.
  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.
  WorkingCopyCallback
  A partial implementation of `IWorkingCopyCallback`, which clients may opt to extend instead of implementing the interface directly.