org.eclipse.gmt.umlx.editor.regime
Interface IRegimeCo1<M,P,CM,CP>

All Superinterfaces:
IClassExtension, IRegime, IRegimeCo0<M,P>
All Known Subinterfaces:
ILinkRegimeCo1<SM,LM,TM,P,CM,CP>, ILinkRegimeCo2<SM,LM,TM,P,CM,CP>, INodeRegimeCo1<M,P,CM,CP>, INodeRegimeCo2<M,P,CM,CP>, IRegimeCo2<M,P,CM,CP>
All Known Implementing Classes:
AbstractAutoGLinkRegime, AbstractLinkRegimeCo1, AbstractLinkRegimeCo2, AbstractNodeRegimeCo1, AbstractNodeRegimeCo2, GAssociationRegime, GAttributionRegime, GClassAttributeRegime, GClassChildRegime, GClassifierRegime, GClassRegime, GDataTypeRegime, GEnumLiteralRegime, GEnumRegime, GInheritanceRegime, GModelElementRegime, GOperationRegime, GPackageRegime, GReferenceRegime, GSheetAttributeRegime, GSheetLinkRegimeCo1, GSheetLinkRegimeCo2, GSheetNodeRegimeCo1, GSheetNodeRegimeCo2, GSheetRegime, GSheetTransientLinkRegimeCo1, MmSheetLinkRegime, MmSheetRegime, 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, UAttributeVariableRegime, UClassVariable2UAttributeVariableRegime, UClassVariable2UClassVariableRegime, UClassVariableRegime, UDomainRegime, UEvolutionInstanceRegime, UExpressionVariableRegime, UMappingInstanceRegime, UPreservationInstanceRegime, URelationInstanceRegime, URelationshipRegime, UVariableRegime

public interface IRegimeCo1<M,P,CM,CP>
extends IRegimeCo0<M,P>


Method Summary
 IRegimeCo1<?,?,?,?> canCoChange(IActiveEditDomain editDomain, java.lang.Object coModel, java.lang.Object model)
           
 boolean coModelIsOptional()
          Returnb true if the coModel is optional (as is the case for a meta-model sheet).
 IAbstractCommand createChangeCoModelCommand(IActiveEditDomain editDomain, M model, CM coModel)
           
 CM getCoModel(java.lang.Object model)
          Return the co-model of model if it has one.
 java.lang.Class<CM> getCoModelClass()
          Return the co-model class if it has one.
 java.lang.Object getCoModelFor(java.lang.Object coModel)
          Return the co-Model to be instantiated when coModel is being instantited.
 IRegimeCo0<CM,CP> getCoRegime()
          Return the co-regime if it has one.
 java.lang.Object getParentCoModel(IActiveEditDomain editDomain, java.lang.Object parent)
          Return the object to be coModel of the parent of a model created by this regime in editDomain.
 ILinkRegimeCo1<?,M,?,P,CM,CP> isLink()
           
 INodeRegimeCo1<M,P,CM,CP> isNode()
           
 boolean loadCoModelClass()
           
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegimeCo0
canCopy, canDelete, computeProblemMessage, createDeleteCommand, createModelObject, createOutline, createPropertySource, createView, getFacets, getModelClass, getParentModelClass, isRegimeCo0, isRegimeCo1, isRegimeCo2, refreshProblemMessage, setCoModel
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, createLinkEnd, getBackElement, getCoModelParentClass, getIcon, getLabel, getNewNamePrefix, getSheetClass, getSource, getSourceModelClass, getTarget, getTargetModelClass
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 

Method Detail

canCoChange

IRegimeCo1<?,?,?,?> canCoChange(IActiveEditDomain editDomain,
                                java.lang.Object coModel,
                                java.lang.Object model)

coModelIsOptional

boolean coModelIsOptional()
Returnb true if the coModel is optional (as is the case for a meta-model sheet).

Returns:
if a null co-model is not an error

createChangeCoModelCommand

IAbstractCommand createChangeCoModelCommand(IActiveEditDomain editDomain,
                                            M model,
                                            CM coModel)

getCoModel

CM getCoModel(java.lang.Object model)
Description copied from interface: IRegime
Return the co-model of model if it has one.

Specified by:
getCoModel in interface IRegime
Parameters:
model - model
Returns:
co-model or null

getCoModelClass

java.lang.Class<CM> getCoModelClass()
Description copied from interface: IRegime
Return the co-model class if it has one.

Specified by:
getCoModelClass in interface IRegime
Returns:
co-model class or null

getCoModelFor

java.lang.Object getCoModelFor(java.lang.Object coModel)
Return the co-Model to be instantiated when coModel is being instantited. Normally returns coModel, but derivations such as GREgime may map from an EReference to an E2Association.

Parameters:
coModel - required co-model
Returns:
actual co-model

getCoRegime

IRegimeCo0<CM,CP> getCoRegime()
Description copied from interface: IRegime
Return the co-regime if it has one.

Specified by:
getCoRegime in interface IRegime
Specified by:
getCoRegime in interface IRegimeCo0<M,P>
Returns:
co-regime class or null

getParentCoModel

java.lang.Object getParentCoModel(IActiveEditDomain editDomain,
                                  java.lang.Object parent)
Return the object to be coModel of the parent of a model created by this regime in editDomain. The return is nominally just parent.coModel() after type validation, but derived implementations may add policies to provide defaults parents for orphans.

Parameters:
editDomain - edit domain containing objects
parent - parent of graphical model
Returns:
co-model of parent

isLink

ILinkRegimeCo1<?,M,?,P,CM,CP> isLink()
Specified by:
isLink in interface IRegimeCo0<M,P>

isNode

INodeRegimeCo1<M,P,CM,CP> isNode()
Specified by:
isNode in interface IRegimeCo0<M,P>

loadCoModelClass

boolean loadCoModelClass()