org.eclipse.gmt.umlx.editor.regimes
Class AbstractAutoELinkRegime<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>

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.regimes.AbstractAutoELinkRegime<SM,LM,TM,P>
All Implemented Interfaces:
ILinkRegimeCo0<SM,LM,TM,P>, ILinkRegimeEnums, IRegime, IRegimeCo0<LM,P>, IClassExtension
Direct Known Subclasses:
E2SheetLinkRegime, UContextSheetLinkRegime, URuleSheetLinkRegime

public abstract class AbstractAutoELinkRegime<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
extends AbstractLinkRegimeCo0<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 cannotConnectBetween(java.lang.Object source, java.lang.Object target, ILinkRegimeEnums.IsReCreate isReCreate, CandidateLinks candidates)
          Return a reason why a connection cannot be made from source to target, or null if it can, and add the possible instantiations to candidates.
 IErrorMessage cannotConnectFrom(java.lang.Object source, ILinkRegimeEnums.IsCreate isCreate)
          Return a reason why a connection cannot start from source or null if it can.
 IErrorMessage cannotConnectTo(java.lang.Object target, ILinkRegimeEnums.IsCreate isCreate)
          Return a reason why a connection cannot finish at target or null if it can.
 IModelStateCommand createCreateCommand(IActiveEditDomain editDomain, java.lang.Object coModel, java.lang.Object context, ILinkEnd sourceLinkEnd, ILinkEnd targetLinkEnd)
           
 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
 SM getSource0(LM model)
           
 TM getTarget0(LM model)
           
abstract  ILinkRegimeCo0<?,?,?,?> resolveRegime(java.lang.Object source, java.lang.Object target)
          Return a regime appropriate to source and target.
 
Methods inherited from class org.eclipse.gmt.umlx.editor.regime.AbstractLinkRegimeCo0
addConnection, canBeReversed, createFacets, createFigure, createLinkEnd, createModelObject, createReconnectCommand, getActualConnection, getActualConnectionsBetween, getBendpoints, getCoCoModelsFor, getCoRegime, getPotentialCoConnection, getPotentialCoConnectionsBetween, getPotentialConnection, getPotentialConnectionsBetween, getSource, getSourceConnections, getSourceLinkEnd, getSourceModelClass, getSourceNode, getTarget, getTargetConnections, getTargetLinkEnd, getTargetModelClass, getTargetNode, isContainment, isLink, isRegimeCo1, isRegimeCo2, removeConnection, 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, getCoModel, getCoModelClass, getCoModelParentClass, getFacets, getModelClass, getNewNamePrefix, getParentModelClass, getSheetClass, initialise, isNode, isRegimeCo0, load, refreshProblemMessage, setCoModel, 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, isNode, isRegimeCo0, refreshProblemMessage, setCoModel
 
Methods inherited from interface org.eclipse.gmt.umlx.editor.regime.IRegime
createCreateChildLinkCommand, createCreateCommand, getBackElement, getCoModel, getCoModelClass, getCoModelParentClass, getNewNamePrefix, getSheetClass
 
Methods inherited from interface org.eclipse.gmt.umlx.utils.IClassExtension
getBasicClass, toDebugString, toUserString
 

Method Detail

cannotConnectBetween

public IErrorMessage cannotConnectBetween(java.lang.Object source,
                                          java.lang.Object target,
                                          ILinkRegimeEnums.IsReCreate isReCreate,
                                          CandidateLinks candidates)
Description copied from interface: ILinkRegimeCo0
Return a reason why a connection cannot be made from source to target, or null if it can, and add the possible instantiations to candidates.

Specified by:
cannotConnectBetween in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Overrides:
cannotConnectBetween in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Parameters:
source - source of required connection
target - target of required connection
candidates - list to receive candidate connections
Returns:
non-null reason for connection failure

cannotConnectFrom

public IErrorMessage cannotConnectFrom(java.lang.Object source,
                                       ILinkRegimeEnums.IsCreate isCreate)
Description copied from interface: ILinkRegimeCo0
Return a reason why a connection cannot start from source or null if it can.

Specified by:
cannotConnectFrom in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Overrides:
cannotConnectFrom in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Parameters:
source - source of required connection
isCreate - true if check for creation rather than use
Returns:
non-null reason for connection failure

cannotConnectTo

public IErrorMessage cannotConnectTo(java.lang.Object target,
                                     ILinkRegimeEnums.IsCreate isCreate)
Description copied from interface: ILinkRegimeCo0
Return a reason why a connection cannot finish at target or null if it can.

Specified by:
cannotConnectTo in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Overrides:
cannotConnectTo in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Parameters:
target - target of required connection
isCreate - true if check for creation rather than use
Returns:
non-null reason for connection failure

createCreateCommand

public IModelStateCommand createCreateCommand(IActiveEditDomain editDomain,
                                              java.lang.Object coModel,
                                              java.lang.Object context,
                                              ILinkEnd sourceLinkEnd,
                                              ILinkEnd targetLinkEnd)
Specified by:
createCreateCommand in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Overrides:
createCreateCommand in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>

getIcon

public java.lang.Enum getIcon()
Description copied from interface: IRegime
Return the icon to be shown in the construction context (the Palette for GCore objects, the Outline for ECore objects).

Returns:
the icon

getLabel

public java.lang.String getLabel()
Description copied from interface: IRegime
Return a descriptive label for the managed object type

Returns:
label

getSource0

public SM getSource0(LM model)
Specified by:
getSource0 in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Specified by:
getSource0 in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>

getTarget0

public TM getTarget0(LM model)
Specified by:
getTarget0 in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Specified by:
getTarget0 in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>

resolveRegime

public abstract ILinkRegimeCo0<?,?,?,?> resolveRegime(java.lang.Object source,
                                                      java.lang.Object target)
Description copied from interface: ILinkRegimeCo0
Return a regime appropriate to source and target. This allows a generic smart regime to be invoked initially that redirects in a context-specific fashion.

Specified by:
resolveRegime in interface ILinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>
Overrides:
resolveRegime in class AbstractLinkRegimeCo0<SM extends org.eclipse.emf.ecore.EObject,LM extends org.eclipse.emf.ecore.EModelElement,TM extends org.eclipse.emf.ecore.EObject,P>