org.eclipse.gmt.umlx.tx.editor.regimes
Class URelationshipRegime<SM extends UVariable,LM extends URelationship,TM extends UVariable,P,CM extends org.eclipse.emf.common.notify.Notifier,CP>

java.lang.Object
  extended by org.eclipse.gmt.umlx.utils.ClassExtension<M>
      extended by org.eclipse.gmt.umlx.editor.regime.AbstractRegime<LM,P>
          extended by org.eclipse.gmt.umlx.editor.regime.AbstractLinkRegimeCo0<SM,LM,TM,P>
              extended by org.eclipse.gmt.umlx.editor.regime.AbstractLinkRegimeCo1<SM,LM,TM,P,CM,CP>
                  extended by org.eclipse.gmt.umlx.tx.editor.regimes.URelationshipRegime<SM,LM,TM,P,CM,CP>
All Implemented Interfaces:
ILinkRegimeCo0<SM,LM,TM,P>, ILinkRegimeCo1<SM,LM,TM,P,CM,CP>, ILinkRegimeEnums, IRegime, IRegimeCo0<LM,P>, IRegimeCo1<LM,P,CM,CP>, IClassExtension
Direct Known Subclasses:
UClassVariable2UAttributeVariableRegime, UClassVariable2UClassVariableRegime

public abstract class URelationshipRegime<SM extends UVariable,LM extends URelationship,TM extends UVariable,P,CM extends org.eclipse.emf.common.notify.Notifier,CP>
extends AbstractLinkRegimeCo1<SM,LM,TM,P,CM,CP>


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.gmt.umlx.editor.regime.ILinkRegimeEnums
ILinkRegimeEnums.IsCreate, ILinkRegimeEnums.IsReconnect, ILinkRegimeEnums.IsReCreate
 
Method Summary
 CP 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.
 SM getSource0(LM model)
           
 TM getTarget0(LM model)
           
 
Methods inherited from class org.eclipse.gmt.umlx.editor.regime.AbstractLinkRegimeCo1
canCoChange, cannotCoCreate, coModelIsOptional, createChangeCoModelCommand, getCoModel, getCoModelClass, getCoModelFor, getCoModelParentClass, getCoRegime, getParentCoModel, isLink, isNode, isRegimeCo1, isRegimeCo2, loadCoModelClass, setCoModel
 
Methods inherited from class org.eclipse.gmt.umlx.editor.regime.AbstractLinkRegimeCo0
addConnection, canBeReversed, cannotConnectBetween, cannotConnectFrom, cannotConnectTo, createCreateCommand, createFacets, createFigure, createLinkEnd, createModelObject, createReconnectCommand, getActualConnection, getActualConnectionsBetween, getBendpoints, getCoCoModelsFor, getPotentialCoConnection, getPotentialCoConnectionsBetween, getPotentialConnection, getPotentialConnectionsBetween, getSource, getSourceConnections, getSourceLinkEnd, getSourceModelClass, getSourceNode, getTarget, getTargetConnections, getTargetLinkEnd, getTargetModelClass, getTargetNode, isContainment, removeConnection, resolveRegime, sourceIsOptional, targetIsOptional
 
Methods inherited from class org.eclipse.gmt.umlx.editor.regime.AbstractRegime
canCopy, canDelete, computeProblemMessage, createCreateChildLinkCommand, createCreateCommand, createDeleteCommand, createModelObject, createOutline, createPropertySource, createView, getBackElement, getBasicClass, getFacets, getModelClass, getNewNamePrefix, getParentModelClass, getSheetClass, initialise, isRegimeCo0, load, refreshProblemMessage, toString
 
Methods inherited from class org.eclipse.gmt.umlx.utils.ClassExtension
toDebugString, toUserString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegimeCo0
canCopy, canDelete, computeProblemMessage, createDeleteCommand, createModelObject, createOutline, createPropertySource, createView, getFacets, getModelClass, getParentModelClass, isRegimeCo0, refreshProblemMessage
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, createLinkEnd, getBackElement, 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, getSourceConnections, getSourceLinkEnd, getSourceModelClass, getSourceNode, getTarget, 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
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, createLinkEnd, getBackElement, getIcon, getLabel, getNewNamePrefix, getSheetClass
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 

Method Detail

getParentCoModel

public final CP getParentCoModel(IActiveEditDomain editDomain,
                                 GModelElement source,
                                 java.lang.Object parent,
                                 GModelElement target)
Description copied from interface: ILinkRegimeCo1
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.

Specified by:
getParentCoModel in interface ILinkRegimeCo1<SM extends UVariable,LM extends URelationship,TM extends UVariable,P,CM extends org.eclipse.emf.common.notify.Notifier,CP>
Specified by:
getParentCoModel in class AbstractLinkRegimeCo1<SM extends UVariable,LM extends URelationship,TM extends UVariable,P,CM extends org.eclipse.emf.common.notify.Notifier,CP>
Parameters:
editDomain - domain in which to create
source - connection source
parent - parent of instantiation
target - connection target
Returns:
the parent co-model

getSource0

public final SM getSource0(LM model)
Specified by:
getSource0 in interface ILinkRegimeCo0<SM extends UVariable,LM extends URelationship,TM extends UVariable,P>
Specified by:
getSource0 in class AbstractLinkRegimeCo0<SM extends UVariable,LM extends URelationship,TM extends UVariable,P>

getTarget0

public final TM getTarget0(LM model)
Specified by:
getTarget0 in interface ILinkRegimeCo0<SM extends UVariable,LM extends URelationship,TM extends UVariable,P>
Specified by:
getTarget0 in class AbstractLinkRegimeCo0<SM extends UVariable,LM extends URelationship,TM extends UVariable,P>