org.eclipse.emf.henshin.model
Interface Rule

All Superinterfaces:
EObject, ModelElement, NamedElement, Notifier, Unit
All Known Implementing Classes:
RuleImpl

public interface Rule
extends Unit

A representation of the model object 'Rule'.

The following features are supported:

See Also:
HenshinPackage.getRule()

Method Summary
 boolean canCreateEdge(Node source, Node target, EReference type)
           
 Edge createEdge(Node source, Node target, EReference type)
           
 Node createNode(EClass type)
           
 EList<Edge> getActionEdges(Action action)
           
 EList<Node> getActionNodes(Action action)
           
 MappingList getAllMappings()
          Get all mappings recursively contained in this rule.
 EList<Rule> getAllMultiRules()
           
 EList<AttributeCondition> getAttributeConditions()
          Returns the value of the 'Attribute Conditions' containment reference list.
 EList<String> getJavaImports()
          Returns the value of the 'Java Imports' attribute list.
 Rule getKernelRule()
           
 Graph getLhs()
          Returns the value of the 'Lhs' containment reference.
 MappingList getMappings()
          Returns the value of the 'Mappings' containment reference list.
 MappingList getMultiMappings()
          Returns the value of the 'Multi Mappings' containment reference list.
 Rule getMultiRule(String name)
           
 EList<Rule> getMultiRulePath(Rule multiRule)
          Get the path to multi-rule.
 EList<Rule> getMultiRules()
          Returns the value of the 'Multi Rules' containment reference list.
 EList<Node> getParameterNodes()
           
 Graph getRhs()
          Returns the value of the 'Rhs' containment reference.
 Rule getRootRule()
           
 boolean isCheckDangling()
          Returns the value of the 'Check Dangling' attribute.
 boolean isInjectiveMatching()
          Returns the value of the 'Injective Matching' attribute.
 boolean isMultiRule()
           
 boolean removeAttribute(Attribute attribute, boolean removeMapped)
           
 boolean removeEdge(Edge edge, boolean removeMapped)
           
 boolean removeNode(Node node, boolean removeMapped)
           
 void setCheckDangling(boolean value)
          Sets the value of the 'Check Dangling' attribute.
 void setInjectiveMatching(boolean value)
          Sets the value of the 'Injective Matching' attribute.
 void setLhs(Graph value)
          Sets the value of the 'Lhs' containment reference.
 void setRhs(Graph value)
          Sets the value of the 'Rhs' containment reference.
 
Methods inherited from interface org.eclipse.emf.henshin.model.Unit
getModule, getParameter, getParameterMappings, getParameters, getSubUnits, isActivated, setActivated
 
Methods inherited from interface org.eclipse.emf.henshin.model.NamedElement
getDescription, getName, setDescription, setName
 
Methods inherited from interface org.eclipse.emf.henshin.model.ModelElement
getAnnotations
 
Methods inherited from interface org.eclipse.emf.ecore.EObject
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
 
Methods inherited from interface org.eclipse.emf.common.notify.Notifier
eAdapters, eDeliver, eNotify, eSetDeliver
 

Method Detail

getLhs

Graph getLhs()
Returns the value of the 'Lhs' containment reference.

Returns:
the value of the 'Lhs' containment reference.
See Also:
setLhs(Graph), HenshinPackage.getRule_Lhs()

setLhs

void setLhs(Graph value)
Sets the value of the 'Lhs' containment reference.

Parameters:
value - the new value of the 'Lhs' containment reference.
See Also:
getLhs()

getRhs

Graph getRhs()
Returns the value of the 'Rhs' containment reference.

Returns:
the value of the 'Rhs' containment reference.
See Also:
setRhs(Graph), HenshinPackage.getRule_Rhs()

setRhs

void setRhs(Graph value)
Sets the value of the 'Rhs' containment reference.

Parameters:
value - the new value of the 'Rhs' containment reference.
See Also:
getRhs()

getMappings

MappingList getMappings()
Returns the value of the 'Mappings' containment reference list. The list contents are of type Mapping.

Returns:
the value of the 'Mappings' containment reference list.
See Also:
HenshinPackage.getRule_Mappings()

getAttributeConditions

EList<AttributeCondition> getAttributeConditions()
Returns the value of the 'Attribute Conditions' containment reference list. The list contents are of type AttributeCondition. It is bidirectional and its opposite is 'Rule'.

Returns:
the value of the 'Attribute Conditions' containment reference list.
See Also:
HenshinPackage.getRule_AttributeConditions(), AttributeCondition.getRule()

getKernelRule

Rule getKernelRule()


getRootRule

Rule getRootRule()


getMultiRule

Rule getMultiRule(String name)


getMultiRulePath

EList<Rule> getMultiRulePath(Rule multiRule)
Get the path to multi-rule. The path starts with a direct multi-rule of this rule and ends with the argument multi-rule. If the argument rule is not a direct or indirect multi-rule of this rule, an empty list is returned.

Parameters:
multiRule - a direct or indirect multi-rule of this rule.
Returns:
The path to the argument multi-rule.

removeEdge

boolean removeEdge(Edge edge,
                   boolean removeMapped)


removeNode

boolean removeNode(Node node,
                   boolean removeMapped)


removeAttribute

boolean removeAttribute(Attribute attribute,
                        boolean removeMapped)


getAllMultiRules

EList<Rule> getAllMultiRules()


getAllMappings

MappingList getAllMappings()
Get all mappings recursively contained in this rule.


getActionNodes

EList<Node> getActionNodes(Action action)


getActionEdges

EList<Edge> getActionEdges(Action action)


getParameterNodes

EList<Node> getParameterNodes()


isMultiRule

boolean isMultiRule()


createNode

Node createNode(EClass type)


createEdge

Edge createEdge(Node source,
                Node target,
                EReference type)


canCreateEdge

boolean canCreateEdge(Node source,
                      Node target,
                      EReference type)


isCheckDangling

boolean isCheckDangling()
Returns the value of the 'Check Dangling' attribute. The default value is "true".

Returns:
the value of the 'Check Dangling' attribute.
See Also:
setCheckDangling(boolean), HenshinPackage.getRule_CheckDangling()

setCheckDangling

void setCheckDangling(boolean value)
Sets the value of the 'Check Dangling' attribute.

Parameters:
value - the new value of the 'Check Dangling' attribute.
See Also:
isCheckDangling()

isInjectiveMatching

boolean isInjectiveMatching()
Returns the value of the 'Injective Matching' attribute. The default value is "true".

Returns:
the value of the 'Injective Matching' attribute.
See Also:
setInjectiveMatching(boolean), HenshinPackage.getRule_InjectiveMatching()

setInjectiveMatching

void setInjectiveMatching(boolean value)
Sets the value of the 'Injective Matching' attribute.

Parameters:
value - the new value of the 'Injective Matching' attribute.
See Also:
isInjectiveMatching()

getMultiRules

EList<Rule> getMultiRules()
Returns the value of the 'Multi Rules' containment reference list. The list contents are of type Rule.

Returns:
the value of the 'Multi Rules' containment reference list.
See Also:
HenshinPackage.getRule_MultiRules()

getMultiMappings

MappingList getMultiMappings()
Returns the value of the 'Multi Mappings' containment reference list. The list contents are of type Mapping.

Returns:
the value of the 'Multi Mappings' containment reference list.
See Also:
HenshinPackage.getRule_MultiMappings()

getJavaImports

EList<String> getJavaImports()
Returns the value of the 'Java Imports' attribute list. The list contents are of type String.

Returns:
the value of the 'Java Imports' attribute list.
See Also:
HenshinPackage.getRule_JavaImports()