org.eclipse.gmt.umlx.editor.regime
Interface IRegime

All Superinterfaces:
IClassExtension
All Known Subinterfaces:
ILinkRegimeCo0<SM,LM,TM,P>, ILinkRegimeCo1<SM,LM,TM,P,CM,CP>, ILinkRegimeCo2<SM,LM,TM,P,CM,CP>, INodeRegimeCo0<M,P>, INodeRegimeCo1<M,P,CM,CP>, INodeRegimeCo2<M,P,CM,CP>, IRegimeCo0<M,P>, IRegimeCo1<M,P,CM,CP>, IRegimeCo2<M,P,CM,CP>
All Known Implementing Classes:
AbstractAutoELinkRegime, AbstractAutoGLinkRegime, AbstractLinkRegimeCo0, AbstractLinkRegimeCo1, AbstractLinkRegimeCo2, AbstractNodeRegimeCo0, AbstractNodeRegimeCo1, AbstractNodeRegimeCo2, AbstractRegime, AbstractTransientContainmentLinksCo0Regime, AbstractTransientLinkCo0Regime, AbstractTransientReferenceLinkCo0Regime, AbstractTransientReferenceLinksCo0Regime, E2AssociationRegime, E2AttributionRegime, E2DirectedAssociationRegime, E2InheritanceRegime, E2SheetLinkRegime, EAttributeRegime, EClassifierRegime, EClassRegime, EDataTypeRegime, EDummyRegime, EEnumLiteralRegime, EEnumRegime, ENamedElementRegime, EOperationRegime, EPackageRegime, EParameterRegime, EReferenceRegime, ETypedElementRegime, GAssociationRegime, GAttributionRegime, GClassAttributeRegime, GClassChildRegime, GClassifierRegime, GClassRegime, GDataTypeRegime, GDummyRegime, GEnumLiteralRegime, GEnumRegime, GFolderRegime, GImportRegime, GInheritanceRegime, GModelElementRegime, GOperationRegime, GPackageRegime, GReferenceRegime, GRootFolderRegime, GSheetAttributeRegime, GSheetLinkRegimeCo0, GSheetLinkRegimeCo1, GSheetLinkRegimeCo2, GSheetNodeRegimeCo0, GSheetNodeRegimeCo1, GSheetNodeRegimeCo2, GSheetRegime, GSheetTransientLinkRegimeCo1, GStickyLinkRegime, GStickyNoteRegime, MmSheetLinkRegime, MmSheetRegime, OrphanageRegime, ResourceRegime, StringRegime, TxAttributeVariable2TxExpressionVariableRegime, TxBindingRegime, TxClassAttributeVariableRegime, TxClassVariable2TxAttributeVariableRegime, TxClassVariable2TxClassVariableRegime, TxClassVariableRegime, TxContextSheetLinkRegime, TxContextSheetRegime, TxDomain2TxTypedModelRegime, TxDomainRegime, TxEvolutionInstanceRegime, TxEvolutionRegime, TxHelperRegime, TxMapping2TxDomainRegime, TxOCLConstraintRegime, TxParameterRegime, TxPreservationInstanceRegime, TxPreservationRegime, TxReferenceRegime, TxRelationInstanceRegime, TxRelationRegime, TxRuleSheetLinkRegime, TxRuleSheetRegime, TxSheetAttributeVariableRegime, TxSheetExpressionVariableRegime, TxTransformation2TxTransformationRegime, TxTransformation2TxTypedModelRegime, TxTransformationRegime, TxTypedModel2TxTypedModelRegime, TxTypedModel2TxUsedPackageRegime, TxTypedModelRegime, TxUsedDomain2TxVariableRegime, TxUsedDomainRegime, TxUsedPackageRegime, TxVariableRegime, UAttributeVariable2UExpressionVariableRegime, UAttributeVariableRegime, UBindingRegime, UClassVariable2UAttributeVariableRegime, UClassVariable2UClassVariableRegime, UClassVariableRegime, UContextSheetLinkRegime, UDomain2UTypedModelRegime, UDomain2UVariableRegime, UDomainRegime, UEvolutionInstanceRegime, UEvolutionRegime, UExpressionRegime, UExpressionVariableRegime, UHelperRegime, UMapping2UDomainRegime, UMappingInstanceRegime, UOCLConstraintRegime, UParameterRegime, UPreservationInstanceRegime, UPreservationRegime, URelationInstanceRegime, URelationRegime, URelationshipRegime, URuleSheetLinkRegime, USelfParameterRegime, UTransformation2UTransformationRegime, UTransformation2UTypedModelRegime, UTransformationRegime, UTypedModel2EPackageRegime, UTypedModel2UTypedModelRegime, UTypedModelRegime, UVariableRegime

public interface IRegime
extends IClassExtension

Derived IRegime singletons provide the set of strategy methods defined by the IRegime interface in order to support maintenance of elemnenmts of a model-element type associated with the singleton. Thus the GClassRegime singleton provides support for the graphical representation of a class and the EClass singleton for the underlying ECore representation.


Method Summary
 IAbstractCommand createCreateChildLinkCommand(IActiveEditDomain editDomain, java.lang.Object coChild, java.lang.Object child, java.lang.Object parent)
          Create a command to create a graphical link between a newly created graphical child and its graphical parent.
 CreateCommand createCreateCommand(IActiveEditDomain editDomain, java.lang.Object coModel, java.lang.Object parent)
          Create a command to create an instance of the model element managed by this regime, with the created element a child of parent, and instantiating coModel.
 ILinkEnd createLinkEnd(java.lang.Object object)
          Create an object to describe the end of a link terminating at object.
 java.lang.Object createModelObject()
          Create a new and uninitialised EMF object of the type managed by this regime.
 GModelElement getBackElement(java.lang.Object editModel)
          Return the non-opaque model element behind the graphical editModel.
 java.lang.Object getCoModel(java.lang.Object model)
          Return the co-model of model if it has one.
 java.lang.Class<?> getCoModelClass()
          Return the co-model class if it has one.
 java.lang.Class<?> getCoModelParentClass()
          Return the co-model parent class if it has one.
 IRegime getCoRegime()
          Return the co-regime if it has one.
 java.lang.Enum getIcon()
          Return the icon to be shown in the construction context (the Palette for GCore objects, the Outline for ECore objects).
 java.lang.String getLabel()
          Return a descriptive label for the managed object type
 java.lang.Class getModelClass()
          Return the model class.
 java.lang.String getNewNamePrefix()
          Return a prefix for autogenerated names.
 java.lang.Class getParentModelClass()
          Return the class of the parent
 java.lang.Class<? extends GSheet> getSheetClass()
          Return the class of the sheet that this regime supports
 java.lang.Object getSource(java.lang.Object model)
          Return the source node of model if it is a link.
 java.lang.Class<?> getSourceModelClass()
          Return the class of source nodes if appropriate
 java.lang.Object getTarget(java.lang.Object model)
          Return the target node of model if it is a link.
 java.lang.Class<?> getTargetModelClass()
          Return the class of target nodes if appropriate
 IRegimeCo0<?,?> isRegimeCo0()
          Return this non-null regime if it is suitable for use with zero or more levels of co-model.
 IRegimeCo1<?,?,?,?> isRegimeCo1()
          Return this non-null regime if it is suitable for use with one or more levels of co-model.
 IRegimeCo2<?,?,?,?> isRegimeCo2()
          Return this non-null regime if it is suitable for use with two or more levels of co-model.
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 

Method Detail

createCreateChildLinkCommand

IAbstractCommand createCreateChildLinkCommand(IActiveEditDomain editDomain,
                                              java.lang.Object coChild,
                                              java.lang.Object child,
                                              java.lang.Object parent)
Create a command to create a graphical link between a newly created graphical child and its graphical parent. This is used to create an attribution link when a sheet attribute is created.


createCreateCommand

CreateCommand createCreateCommand(IActiveEditDomain editDomain,
                                  java.lang.Object coModel,
                                  java.lang.Object parent)
Create a command to create an instance of the model element managed by this regime, with the created element a child of parent, and instantiating coModel.


createLinkEnd

ILinkEnd createLinkEnd(java.lang.Object object)
Create an object to describe the end of a link terminating at object.


createModelObject

java.lang.Object createModelObject()
Create a new and uninitialised EMF object of the type managed by this regime.


getBackElement

GModelElement getBackElement(java.lang.Object editModel)
Return the non-opaque model element behind the graphical editModel.

Parameters:
editModel -
Returns:
the non-opaque model element behind the graphical editModel

getCoModel

java.lang.Object getCoModel(java.lang.Object model)
Return the co-model of model if it has one.

Parameters:
model - model
Returns:
co-model or null

getCoModelClass

java.lang.Class<?> getCoModelClass()
Return the co-model class if it has one.

Returns:
co-model class or null

getCoModelParentClass

java.lang.Class<?> getCoModelParentClass()
Return the co-model parent class if it has one.

Returns:
co-model parent class or null

getCoRegime

IRegime getCoRegime()
Return the co-regime if it has one.

Returns:
co-regime class or null

getIcon

java.lang.Enum getIcon()
Return the icon to be shown in the construction context (the Palette for GCore objects, the Outline for ECore objects).

Returns:
the icon

getLabel

java.lang.String getLabel()
Return a descriptive label for the managed object type

Returns:
label

getModelClass

java.lang.Class getModelClass()
Return the model class.

Returns:
model class

getNewNamePrefix

java.lang.String getNewNamePrefix()
Return a prefix for autogenerated names.

Returns:
prefix

getParentModelClass

java.lang.Class getParentModelClass()
Return the class of the parent

Returns:
parent class

getSheetClass

java.lang.Class<? extends GSheet> getSheetClass()
Return the class of the sheet that this regime supports

Returns:
sheet class or null.

getSource

java.lang.Object getSource(java.lang.Object model)
Return the source node of model if it is a link.

Parameters:
model - model
Returns:
this or null

getSourceModelClass

java.lang.Class<?> getSourceModelClass()
Return the class of source nodes if appropriate

Returns:
source node class or null

getTarget

java.lang.Object getTarget(java.lang.Object model)
Return the target node of model if it is a link.

Parameters:
model - model
Returns:
this or null

getTargetModelClass

java.lang.Class<?> getTargetModelClass()
Return the class of target nodes if appropriate

Returns:
target node class or null

isRegimeCo0

IRegimeCo0<?,?> isRegimeCo0()
Return this non-null regime if it is suitable for use with zero or more levels of co-model.

Returns:
this or null

isRegimeCo1

IRegimeCo1<?,?,?,?> isRegimeCo1()
Return this non-null regime if it is suitable for use with one or more levels of co-model.

Returns:
this or null

isRegimeCo2

IRegimeCo2<?,?,?,?> isRegimeCo2()
Return this non-null regime if it is suitable for use with two or more levels of co-model.

Returns:
this or null