org.eclipse.gmt.umlx.editor.regime
Interface ILinkRegimeCo1<SM extends org.eclipse.emf.ecore.EObject,LM,TM extends org.eclipse.emf.ecore.EObject,P,CM,CP>

All Superinterfaces:
IClassExtension, ILinkRegimeCo0<SM,LM,TM,P>, ILinkRegimeEnums, IRegime, IRegimeCo0<LM,P>, IRegimeCo1<LM,P,CM,CP>
All Known Subinterfaces:
ILinkRegimeCo2<SM,LM,TM,P,CM,CP>
All Known Implementing Classes:
AbstractAutoGLinkRegime, AbstractLinkRegimeCo1, AbstractLinkRegimeCo2, GAssociationRegime, GAttributionRegime, GInheritanceRegime, GReferenceRegime, GSheetLinkRegimeCo1, GSheetLinkRegimeCo2, GSheetTransientLinkRegimeCo1, MmSheetLinkRegime, TxAttributeVariable2TxExpressionVariableRegime, TxBindingRegime, TxClassVariable2TxAttributeVariableRegime, TxClassVariable2TxClassVariableRegime, TxContextSheetLinkRegime, TxDomain2TxTypedModelRegime, TxMapping2TxDomainRegime, TxReferenceRegime, TxRuleSheetLinkRegime, TxTransformation2TxTransformationRegime, TxTransformation2TxTypedModelRegime, TxTypedModel2TxTypedModelRegime, TxTypedModel2TxUsedPackageRegime, TxUsedDomain2TxVariableRegime, UClassVariable2UAttributeVariableRegime, UClassVariable2UClassVariableRegime, URelationshipRegime

public interface ILinkRegimeCo1<SM extends org.eclipse.emf.ecore.EObject,LM,TM extends org.eclipse.emf.ecore.EObject,P,CM,CP>
extends IRegimeCo1<LM,P,CM,CP>, ILinkRegimeCo0<SM,LM,TM,P>


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.gmt.umlx.editor.regime.ILinkRegimeEnums
ILinkRegimeEnums.IsCreate, ILinkRegimeEnums.IsReconnect, ILinkRegimeEnums.IsReCreate
 
Method Summary
 IErrorMessage cannotCoCreate(IActiveEditDomain editDomain, java.lang.Object coModel, java.lang.Object context)
          Return the reason why an instanceof coModel cannot be created, or null if it can.
 ILinkRegimeCo0<?,CM,?,CP> getCoRegime()
          Return the co-regime if it has one.
 java.lang.Object getParentCoModel(IActiveEditDomain editDomain, GModelElement source, java.lang.Object parent, GModelElement target)
          Return the object to be coModel of the parent of a model created by this regime in editDomain between coSource and coTarget.
 ILinkRegimeCo1<SM,LM,TM,P,CM,CP> isRegimeCo1()
          Return this non-null regime if it is suitable for use with one or more levels of co-model.
 ILinkRegimeCo2<SM,LM,TM,P,CM,CP> 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.editor.regime.IRegimeCo1
canCoChange, coModelIsOptional, createChangeCoModelCommand, getCoModel, getCoModelClass, getCoModelFor, getParentCoModel, isLink, isNode, loadCoModelClass
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegimeCo0
canCopy, canDelete, computeProblemMessage, createDeleteCommand, createModelObject, createOutline, createPropertySource, createView, getFacets, getModelClass, getParentModelClass, isRegimeCo0, refreshProblemMessage, setCoModel
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, createLinkEnd, getBackElement, getCoModelParentClass, getIcon, getLabel, getNewNamePrefix, getSheetClass
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.ILinkRegimeCo0
addConnection, canBeReversed, cannotConnectBetween, cannotConnectFrom, cannotConnectTo, createCreateCommand, createFigure, createModelObject, createReconnectCommand, getActualConnection, getActualConnectionsBetween, getBendpoints, getCoCoModelsFor, getPotentialCoConnection, getPotentialConnection, getPotentialConnectionsBetween, getSource, getSource0, getSourceConnections, getSourceLinkEnd, getSourceModelClass, getSourceNode, getTarget, getTarget0, getTargetConnections, getTargetLinkEnd, getTargetModelClass, getTargetNode, isContainment, removeConnection, resolveRegime, sourceIsOptional, targetIsOptional
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegimeCo0
canCopy, canDelete, computeProblemMessage, createDeleteCommand, createModelObject, createOutline, createPropertySource, createView, getFacets, getModelClass, getParentModelClass, isRegimeCo0, refreshProblemMessage, setCoModel
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, createLinkEnd, getBackElement, getCoModelParentClass, getIcon, getLabel, getNewNamePrefix, getSheetClass
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 

Method Detail

cannotCoCreate

IErrorMessage cannotCoCreate(IActiveEditDomain editDomain,
                             java.lang.Object coModel,
                             java.lang.Object context)
Return the reason why an instanceof coModel cannot be created, or null if it can.

Parameters:
editDomain - domain in which to create
coModel - coModel to instantiate
context - context of instantiation
Returns:
non-null reason for creation failure

getCoRegime

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

Specified by:
getCoRegime in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM,TM extends org.eclipse.emf.ecore.EObject,P>
Specified by:
getCoRegime in interface IRegime
Specified by:
getCoRegime in interface IRegimeCo0<LM,P>
Specified by:
getCoRegime in interface IRegimeCo1<LM,P,CM,CP>
Returns:
co-regime class or null

getParentCoModel

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

Parameters:
editDomain - domain in which to create
source - connection source
parent - parent of instantiation
target - connection target
Returns:
the parent co-model

isRegimeCo1

ILinkRegimeCo1<SM,LM,TM,P,CM,CP> isRegimeCo1()
Description copied from interface: IRegime
Return this non-null regime if it is suitable for use with one or more levels of co-model.

Specified by:
isRegimeCo1 in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM,TM extends org.eclipse.emf.ecore.EObject,P>
Specified by:
isRegimeCo1 in interface IRegime
Specified by:
isRegimeCo1 in interface IRegimeCo0<LM,P>
Returns:
this or null

isRegimeCo2

ILinkRegimeCo2<SM,LM,TM,P,CM,CP> isRegimeCo2()
Description copied from interface: IRegime
Return this non-null regime if it is suitable for use with two or more levels of co-model.

Specified by:
isRegimeCo2 in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM,TM extends org.eclipse.emf.ecore.EObject,P>
Specified by:
isRegimeCo2 in interface IRegime
Specified by:
isRegimeCo2 in interface IRegimeCo0<LM,P>
Returns:
this or null