org.eclipse.uml2.uml
Interface ConditionalNode

All Superinterfaces:
Action, ActivityContent, ActivityGroup, ActivityNode, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, ExecutableNode, NamedElement, Namespace, org.eclipse.emf.common.notify.Notifier, RedefinableElement, StructuredActivityNode

public interface ConditionalNode
extends StructuredActivityNode

A representation of the model object 'Conditional Node'. A ConditionalNode is a StructuredActivityNode that chooses one among some number of alternative collections of ExecutableNodes to execute.

From package UML::Actions.

The following features are supported:

See Also:
UMLPackage.getConditionalNode()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 Clause createClause()
          Creates a new Clause and appends it to the 'Clause' containment reference list
 OutputPin createResult(java.lang.String name, Type type)
          Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list
 org.eclipse.emf.common.util.EList<Clause> getClauses()
          Returns the value of the 'Clause' containment reference list.
 OutputPin getResult(java.lang.String name, Type type)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list
 OutputPin getResult(java.lang.String name, Type type, boolean ignoreCase, boolean createOnDemand)
          Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list
 org.eclipse.emf.common.util.EList<OutputPin> getResults()
          Returns the value of the 'Result' containment reference list.
 boolean isAssured()
          Returns the value of the 'Is Assured' attribute.
 boolean isDeterminate()
          Returns the value of the 'Is Determinate' attribute.
 void setIsAssured(boolean value)
          Sets the value of the 'Is Assured' attribute
 void setIsDeterminate(boolean value)
          Sets the value of the 'Is Determinate' attribute
 boolean validateClauseNoPredecessor(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly.
 boolean validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The union of the ExecutableNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes.
 boolean validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          Each clause of a ConditionalNode must have the same number of bodyOutput pins as the ConditionalNode has result OutputPins, and each clause bodyOutput Pin must be compatible with the corresponding result OutputPin (by positional order) in type, multiplicity, ordering, and uniqueness.
 boolean validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A ConditionalNode has no InputPins.
 boolean validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode.
 boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The result OutputPins have no incoming edges.
 
Methods inherited from interface org.eclipse.uml2.uml.StructuredActivityNode
createEdge, createNode, createStructuredNodeInput, createStructuredNodeInput, createStructuredNodeOutput, createVariable, getEdge, getEdge, getEdges, getNode, getNode, getNodes, getStructuredNodeInput, getStructuredNodeInput, getStructuredNodeInputs, getStructuredNodeOutput, getStructuredNodeOutput, getStructuredNodeOutputs, getVariable, getVariable, getVariables, isMustIsolate, setMustIsolate, sourceNodes, targetNodes, validateEdges, validateInputPinEdges, validateOutputPinEdges
 
Methods inherited from interface org.eclipse.uml2.uml.Action
allActions, allOwnedNodes, containingBehavior, createLocalPostcondition, createLocalPostcondition, createLocalPrecondition, createLocalPrecondition, getContext, getInput, getInput, getInputs, getLocalPostcondition, getLocalPostcondition, getLocalPostconditions, getLocalPrecondition, getLocalPrecondition, getLocalPreconditions, getOutput, getOutput, getOutputs, isLocallyReentrant, setIsLocallyReentrant
 
Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
createHandler, getHandlers
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityNode
getActivity, getIncoming, getIncoming, getIncomings, getInGroup, getInGroup, getInGroups, getInInterruptibleRegion, getInInterruptibleRegion, getInInterruptibleRegions, getInPartition, getInPartition, getInPartitions, getInStructuredNode, getOutgoing, getOutgoing, getOutgoings, getRedefinedNode, getRedefinedNode, getRedefinedNodes, setActivity, setInStructuredNode
 
Methods inherited from interface org.eclipse.uml2.uml.RedefinableElement
getRedefinedElement, getRedefinedElement, getRedefinedElements, getRedefinitionContext, getRedefinitionContext, getRedefinitionContexts, isConsistentWith, isLeaf, isRedefinitionContextValid, setIsLeaf, validateNonLeafRedefinition, validateRedefinitionConsistent, validateRedefinitionContextValid
 
Methods inherited from interface org.eclipse.uml2.uml.NamedElement
allNamespaces, allOwningPackages, createDependency, createNameExpression, createUsage, getClientDependencies, getClientDependency, getClientDependency, getLabel, getLabel, getName, getNameExpression, getNamespace, getQualifiedName, getVisibility, isDistinguishableFrom, isSetName, isSetVisibility, separator, setName, setNameExpression, setVisibility, unsetName, unsetVisibility, validateHasNoQualifiedName, validateHasQualifiedName, validateVisibilityNeedsOwnership
 
Methods inherited from interface org.eclipse.uml2.uml.Element
addKeyword, allOwnedElements, applyStereotype, createEAnnotation, createOwnedComment, destroy, getApplicableStereotype, getApplicableStereotypes, getAppliedStereotype, getAppliedStereotypes, getAppliedSubstereotype, getAppliedSubstereotypes, getKeywords, getModel, getNearestPackage, getOwnedComments, getOwnedElements, getOwner, getRelationships, getRelationships, getRequiredStereotype, getRequiredStereotypes, getSourceDirectedRelationships, getSourceDirectedRelationships, getStereotypeApplication, getStereotypeApplications, getTargetDirectedRelationships, getTargetDirectedRelationships, getValue, hasKeyword, hasValue, isStereotypeApplicable, isStereotypeApplied, isStereotypeRequired, mustBeOwned, removeKeyword, setValue, unapplyStereotype, validateHasOwner, validateNotOwnSelf
 
Methods inherited from interface org.eclipse.emf.ecore.EModelElement
getEAnnotation, getEAnnotations
 
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
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityContent
containingActivity
 
Methods inherited from interface org.eclipse.uml2.uml.Namespace
createElementImport, createElementImport, createOwnedRule, createOwnedRule, createPackageImport, createPackageImport, excludeCollisions, getElementImport, getElementImport, getElementImports, getImportedElements, getImportedMember, getImportedMember, getImportedMembers, getImportedPackages, getMember, getMember, getMembers, getNamesOfMember, getOwnedMember, getOwnedMember, getOwnedMembers, getOwnedRule, getOwnedRule, getOwnedRules, getPackageImport, getPackageImport, getPackageImports, importMembers, membersAreDistinguishable, validateCannotImportOwnedMembers, validateCannotImportSelf, validateMembersDistinguishable
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityGroup
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroup, getSubgroup, getSubgroups, getSuperGroup, setInActivity, validateNodesAndEdges, validateNotContained
 

Method Detail

isDeterminate

boolean isDeterminate()
Returns the value of the 'Is Determinate' attribute. The default value is "false". If true, the modeler asserts that the test for at most one Clause of the ConditionalNode will succeed.

From package UML::Actions.

Returns:
the value of the 'Is Determinate' attribute.
See Also:
setIsDeterminate(boolean), UMLPackage.getConditionalNode_IsDeterminate()

setIsDeterminate

void setIsDeterminate(boolean value)
Sets the value of the 'Is Determinate' attribute.

Parameters:
value - the new value of the 'Is Determinate' attribute.
See Also:
isDeterminate()

isAssured

boolean isAssured()
Returns the value of the 'Is Assured' attribute. The default value is "false". If true, the modeler asserts that the test for at least one Clause of the ConditionalNode will succeed.

From package UML::Actions.

Returns:
the value of the 'Is Assured' attribute.
See Also:
setIsAssured(boolean), UMLPackage.getConditionalNode_IsAssured()

setIsAssured

void setIsAssured(boolean value)
Sets the value of the 'Is Assured' attribute.

Parameters:
value - the new value of the 'Is Assured' attribute.
See Also:
isAssured()

getClauses

org.eclipse.emf.common.util.EList<Clause> getClauses()
Returns the value of the 'Clause' containment reference list. The list contents are of type Clause.

This feature subsets the following features:

The set of Clauses composing the ConditionalNode.

From package UML::Actions.

Returns:
the value of the 'Clause' containment reference list.
See Also:
UMLPackage.getConditionalNode_Clause()

createClause

Clause createClause()
Creates a new Clause and appends it to the 'Clause' containment reference list.

Returns:
The new Clause.
See Also:
getClauses()

getResults

org.eclipse.emf.common.util.EList<OutputPin> getResults()
Returns the value of the 'Result' containment reference list. The list contents are of type OutputPin.

This feature redefines the following features:

The OutputPins that onto which are moved values from the bodyOutputs of the Clause selected for execution.

From package UML::Actions.

Returns:
the value of the 'Result' containment reference list.
See Also:
UMLPackage.getConditionalNode_Result()

createResult

OutputPin createResult(java.lang.String name,
                       Type type)
Creates a new OutputPin, with the specified 'Name', and 'Type', and appends it to the 'Result' containment reference list.

Parameters:
name - The 'Name' for the new OutputPin, or null.
type - The 'Type' for the new OutputPin, or null.
Returns:
The new OutputPin.
See Also:
getResults()

getResult

OutputPin getResult(java.lang.String name,
                    Type type)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

getResult

OutputPin getResult(java.lang.String name,
                    Type type,
                    boolean ignoreCase,
                    boolean createOnDemand)
Retrieves the first OutputPin with the specified 'Name', and 'Type' from the 'Result' containment reference list.

Parameters:
name - The 'Name' of the OutputPin to retrieve, or null.
type - The 'Type' of the OutputPin to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
createOnDemand - Whether to create a OutputPin on demand if not found.
Returns:
The first OutputPin with the specified 'Name', and 'Type', or null.
See Also:
getResults()

validateResultNoIncoming

boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                 java.util.Map<java.lang.Object,java.lang.Object> context)
The result OutputPins have no incoming edges. result.incoming->isEmpty()

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateNoInputPins

boolean validateNoInputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                            java.util.Map<java.lang.Object,java.lang.Object> context)
A ConditionalNode has no InputPins. input->isEmpty()

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateOneClauseWithExecutableNode

boolean validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                            java.util.Map<java.lang.Object,java.lang.Object> context)
No ExecutableNode in the ConditionNode may appear in the test or body part of more than one clause of a ConditionalNode. node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)->forAll(n | self.clause->select(test->union(_'body')->includes(n))->size()=1)

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateMatchingOutputPins

boolean validateMatchingOutputPins(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                   java.util.Map<java.lang.Object,java.lang.Object> context)
Each clause of a ConditionalNode must have the same number of bodyOutput pins as the ConditionalNode has result OutputPins, and each clause bodyOutput Pin must be compatible with the corresponding result OutputPin (by positional order) in type, multiplicity, ordering, and uniqueness. clause->forAll( bodyOutput->size()=self.result->size() and Sequence{1..self.result->size()}->forAll(i | bodyOutput->at(i).type.conformsTo(result->at(i).type) and bodyOutput->at(i).isOrdered = result->at(i).isOrdered and bodyOutput->at(i).isUnique = result->at(i).isUnique and bodyOutput->at(i).compatibleWith(result->at(i))))

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateExecutableNodes

boolean validateExecutableNodes(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
The union of the ExecutableNodes in the test and body parts of all clauses must be the same as the subset of nodes contained in the ConditionalNode (considered as a StructuredActivityNode) that are ExecutableNodes. clause.test->union(clause._'body') = node->select(oclIsKindOf(ExecutableNode)).oclAsType(ExecutableNode)

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

validateClauseNoPredecessor

boolean validateClauseNoPredecessor(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                    java.util.Map<java.lang.Object,java.lang.Object> context)
No two clauses within a ConditionalNode may be predecessorClauses of each other, either directly or indirectly. clause->closure(predecessorClause)->intersection(clause)->isEmpty()

Parameters:
diagnostics - The chain of diagnostics to which problems are to be appended.
context - The cache of context-specific information.

Copyright 2003, 2014 IBM Corporation, CEA, and others.
All Rights Reserved.