Package org.eclipse.handly.model

# Interface IModel

All Known Subinterfaces:
  `IModelExtension`, `IModelImpl`

public interface IModel
A marker interface for Handly-based models.

A model serves as the common owner of any number of `IElement`s. Each `IElement` belongs to a model, called the owning model. The children of an element always belong to the same model as their parent element.

There can be any number of elements owned by a model that are `unparented`. Each of these elements is the root of a separate tree of elements. The `Elements.getRoot(IElement)` method navigates from any element to the root of the containing element tree. One can `navigate` from any element to its owning model but not in the opposite direction.

An instance of `IModel` is safe for use by multiple threads.

See Also:
  - `Models`