Package org.eclipse.handly.model
An IModel
serves as the common owner
of any number of IElement
s.
IElement
s are exposed to clients as handles to the
actual underlying element. The model may hand out any number of
handles for each element. Handles are value objects; handles that refer to
the same element are guaranteed to be equal, but not necessarily identical.
An IElementDelta
describes
changes to an IElement
between two discrete points in time.
IModel
, IElement
, and IElementDelta
are just marker interfaces. Use static methods in classes Models
, Elements
, and ElementDeltas
for generic access to IModel
s, IElement
s, and
IElementDelta
s.
This package also provides marker interfaces for code-centric elements
such as ISourceFile
and
ISourceConstruct
. Those
can also be manipulated via static methods in Elements
.
Finally, there are IXXXExtension
interfaces (e.g., IElementExtension
), which
model implementors may opt to extend. The extension interfaces extend
the corresponding marker interfaces and introduce a number of generally
useful default methods, effectively acting like mix-ins.
- See Also:
-
ClassDescriptionProvides static methods for generic access to
IElementDelta
s.Provides static methods for generic access toIElement
s.A marker interface for all elements of a Handly-based model.Describes a change to the structure or contents of one or more trees of elements of a Handly-based model.An element change listener is notified of changes to elements of a Handly-based model.A marker interface for delta objects which describe changes in anIElement
between two discrete points in time.Provides constants which define element delta kinds and describe element changes.Model implementors may opt to extend this interface, which extendsIElementDelta
with a number of default methods.Model implementors may opt to extend this interface, which extendsIElement
with a number of default methods.Provides a generic way to createIElement
handles.A marker interface for Handly-based models.Model implementors may opt to extend this interface, which extendsIModel
with a number of default methods.A marker interface for elements in a source file or, more generally, elements inside a "resource" that may have associated source (an example of such "resource" might be a class file in a jar).A marker interface for elements that may have associated source code.Model implementors may opt to extend this interface, which extendsISourceElement
with a number of default methods.Holds cached structure and properties for anISourceElement
.A marker interface for elements that represent a source file.Model implementors may opt to extend this interface, which extendsISourceFile
with a number of default methods.Provides static methods for generic access toIModel
s.