org.eclipse.uml2.uml
Interface ConditionalNode

All Superinterfaces:
Action, 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 conditional node is a structured activity node that represents an exclusive choice among some number of alternatives.

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 maybe predecessor clauses 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 ExecutabledNodes 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 conditional node must have the same number of bodyOutput pins as the conditional node has result output pins, and each clause bodyOutput pin must be compatible with the corresponding result pin (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 conditional node has no input pins.
 boolean validateOneClauseWithExecutableNode(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          No ExecutableNode may appear in the test or body part of more than one clause of a conditional node.
 boolean validateResultNoIncoming(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          The result output pins 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, validateEdges, validateInputPinEdges, validateOutputPinEdges
 
Methods inherited from interface org.eclipse.uml2.uml.Action
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, validateOwned, validateOwnedStructuredNode
 
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.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, validateMembersDistinguishable
 
Methods inherited from interface org.eclipse.uml2.uml.ActivityGroup
getContainedEdge, getContainedEdge, getContainedEdges, getContainedNode, getContainedNode, getContainedNodes, getInActivity, getSubgroup, getSubgroup, getSubgroups, getSuperGroup, setInActivity, validateGroupOwned, 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 at most one test will succeed.

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 at least one test will succeed.

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:

Set of clauses composing the conditional.

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:

A list of output pins that constitute the data flow outputs of the conditional.

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 output pins have no incoming edges. true

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 conditional node has no input pins. true

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 may appear in the test or body part of more than one clause of a conditional node. true

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 conditional node must have the same number of bodyOutput pins as the conditional node has result output pins, and each clause bodyOutput pin must be compatible with the corresponding result pin (by positional order) in type, multiplicity, ordering and uniqueness. true

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 ExecutabledNodes 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. true

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 maybe predecessor clauses of each other, either directly or indirectly. true

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

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