org.eclipse.gmt.umlx.editor.facets
Interface IFacet<M>
- Type Parameters:
M
- The bound on the model type supported by the facet.
- All Known Implementing Classes:
- AbstractFacet, BendpointsFacet, CoModelFacet, DiagramNameFacet, DirectionFacet, EnumLiteralFacet, InitExpressionFacet, LinksFacet, LocationFacet, NameFacet, ParentFacet, SheetFacet, TextFacet, UDomainFacet, VarNameFacet
public interface IFacet<M>
Each derived IFacet singleton defines the way in which a facet such as name, position,
links of a model state are updated during a create/delete/reconnect command and subsequent
undo and redoes.
The content of a model element are defined by facets in order to polymorphise the
maintenance and to avoid multiple inheritance dilemmas between nodes/links,
with/without co-models, with/without names. Name functionality is simply provided
by arranging for the singleton to ne included in the list of facets for a regime.
change
<T> void change(FacetIterator<T> facetIterator,
FacetIterator<? extends M> modelIterator)
prepare
void prepare(ModelState<? extends M> modelState,
M newModel)
requestModifications
void requestModifications(ModelState<? extends M> modelState,
IAbstractCommand rootCommand)
setOldModel
void setOldModel(ModelState<? extends M> modelState,
M oldModel)