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.


Method Summary
<T> void
change(FacetIterator<T> facetIterator, FacetIterator<? extends M> modelIterator)
           
 void prepare(ModelState<? extends M> modelState, M newModel)
           
 void requestModifications(ModelState<? extends M> modelState, IAbstractCommand rootCommand)
           
 void setOldModel(ModelState<? extends M> modelState, M oldModel)
           
 

Method Detail

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)