org.eclipse.uml2.uml
Interface ObjectNode

All Superinterfaces:
ActivityContent, ActivityNode, Element, org.eclipse.emf.ecore.EModelElement, org.eclipse.emf.ecore.EObject, NamedElement, org.eclipse.emf.common.notify.Notifier, RedefinableElement, TypedElement
All Known Subinterfaces:
ActionInputPin, ActivityParameterNode, CentralBufferNode, DataStoreNode, ExpansionNode, InputPin, OutputPin, Pin, ValuePin

public interface ObjectNode
extends ActivityNode, TypedElement

A representation of the model object 'Object Node'. An ObjectNode is an abstract ActivityNode that may hold tokens within the object flow in an Activity. ObjectNodes also support token selection, limitation on the number of tokens held, specification of the state required for tokens being held, and carrying control values.

From package UML::Activities.

The following features are supported:

See Also:
UMLPackage.getObjectNode()

Field Summary
 
Fields inherited from interface org.eclipse.uml2.uml.NamedElement
SEPARATOR
 
Method Summary
 ValueSpecification createUpperBound(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)
          Creates a new ValueSpecification, with the specified 'Name', and 'Type', and sets the 'Upper Bound' containment reference
 State getInState(java.lang.String name)
          Retrieves the first State with the specified 'Name' from the 'In State' reference list
 State getInState(java.lang.String name, boolean ignoreCase, org.eclipse.emf.ecore.EClass eClass)
          Retrieves the first State with the specified 'Name' from the 'In State' reference list
 org.eclipse.emf.common.util.EList<State> getInStates()
          Returns the value of the 'In State' reference list.
 ObjectNodeOrderingKind getOrdering()
          Returns the value of the 'Ordering' attribute.
 Behavior getSelection()
          Returns the value of the 'Selection' reference
 ValueSpecification getUpperBound()
          Returns the value of the 'Upper Bound' containment reference.
 boolean isControlType()
          Returns the value of the 'Is Control Type' attribute.
 void setIsControlType(boolean value)
          Sets the value of the 'Is Control Type' attribute
 void setOrdering(ObjectNodeOrderingKind value)
          Sets the value of the 'Ordering' attribute
 void setSelection(Behavior value)
          Sets the value of the 'Selection' reference
 void setUpperBound(ValueSpecification value)
          Sets the value of the 'Upper Bound' containment reference
 boolean validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          A selection Behavior has one input Parameter and one output Parameter.
 boolean validateObjectFlowEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows.
 boolean validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)
          If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa.
 
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.TypedElement
getType, setType
 

Method Detail

getOrdering

ObjectNodeOrderingKind getOrdering()
Returns the value of the 'Ordering' attribute. The default value is "FIFO". The literals are from the enumeration ObjectNodeOrderingKind. Indicates how the tokens held by the ObjectNode are ordered for selection to traverse ActivityEdges outgoing from the ObjectNode.

From package UML::Activities.

Returns:
the value of the 'Ordering' attribute.
See Also:
ObjectNodeOrderingKind, setOrdering(ObjectNodeOrderingKind), UMLPackage.getObjectNode_Ordering()

setOrdering

void setOrdering(ObjectNodeOrderingKind value)
Sets the value of the 'Ordering' attribute.

Parameters:
value - the new value of the 'Ordering' attribute.
See Also:
ObjectNodeOrderingKind, getOrdering()

isControlType

boolean isControlType()
Returns the value of the 'Is Control Type' attribute. The default value is "false". Indicates whether the type of the ObjectNode is to be treated as representing control values that may traverse ControlFlows.

From package UML::Activities.

Returns:
the value of the 'Is Control Type' attribute.
See Also:
setIsControlType(boolean), UMLPackage.getObjectNode_IsControlType()

setIsControlType

void setIsControlType(boolean value)
Sets the value of the 'Is Control Type' attribute.

Parameters:
value - the new value of the 'Is Control Type' attribute.
See Also:
isControlType()

getUpperBound

ValueSpecification getUpperBound()
Returns the value of the 'Upper Bound' containment reference.

This feature subsets the following features:

The maximum number of tokens that may be held by this ObjectNode. Tokens cannot flow into the ObjectNode if the upperBound is reached. If no upperBound is specified, then there is no limit on how many tokens the ObjectNode can hold.

From package UML::Activities.

Returns:
the value of the 'Upper Bound' containment reference.
See Also:
setUpperBound(ValueSpecification), UMLPackage.getObjectNode_UpperBound()

setUpperBound

void setUpperBound(ValueSpecification value)
Sets the value of the 'Upper Bound' containment reference.

Parameters:
value - the new value of the 'Upper Bound' containment reference.
See Also:
getUpperBound()

createUpperBound

ValueSpecification createUpperBound(java.lang.String name,
                                    Type type,
                                    org.eclipse.emf.ecore.EClass eClass)
Creates a new ValueSpecification, with the specified 'Name', and 'Type', and sets the 'Upper Bound' containment reference.

Parameters:
name - The 'Name' for the new ValueSpecification, or null.
type - The 'Type' for the new ValueSpecification, or null.
eClass - The Ecore class of the ValueSpecification to create.
Returns:
The new ValueSpecification.
See Also:
getUpperBound()

getInStates

org.eclipse.emf.common.util.EList<State> getInStates()
Returns the value of the 'In State' reference list. The list contents are of type State. The States required to be associated with the values held by tokens on this ObjectNode.

From package UML::Activities.

Returns:
the value of the 'In State' reference list.
See Also:
UMLPackage.getObjectNode_InState()

getInState

State getInState(java.lang.String name)
Retrieves the first State with the specified 'Name' from the 'In State' reference list.

Parameters:
name - The 'Name' of the State to retrieve, or null.
Returns:
The first State with the specified 'Name', or null.
See Also:
getInStates()

getInState

State getInState(java.lang.String name,
                 boolean ignoreCase,
                 org.eclipse.emf.ecore.EClass eClass)
Retrieves the first State with the specified 'Name' from the 'In State' reference list.

Parameters:
name - The 'Name' of the State to retrieve, or null.
ignoreCase - Whether to ignore case in String comparisons.
eClass - The Ecore class of the State to retrieve, or null.
Returns:
The first State with the specified 'Name', or null.
See Also:
getInStates()

getSelection

Behavior getSelection()
Returns the value of the 'Selection' reference. A Behavior used to select tokens to be offered on outgoing ActivityEdges.

From package UML::Activities.

Returns:
the value of the 'Selection' reference.
See Also:
setSelection(Behavior), UMLPackage.getObjectNode_Selection()

setSelection

void setSelection(Behavior value)
Sets the value of the 'Selection' reference.

Parameters:
value - the new value of the 'Selection' reference.
See Also:
getSelection()

validateObjectFlowEdges

boolean validateObjectFlowEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                java.util.Map<java.lang.Object,java.lang.Object> context)
If isControlType=false, the ActivityEdges incoming to or outgoing from an ObjectNode must all be ObjectFlows. (not isControlType) implies incoming->union(outgoing)->forAll(oclIsKindOf(ObjectFlow))

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

validateSelectionBehavior

boolean validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                  java.util.Map<java.lang.Object,java.lang.Object> context)
If an ObjectNode has a selection Behavior, then the ordering of the object node is ordered, and vice versa. (selection<>null) = (ordering=ObjectNodeOrderingKind::ordered)

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

validateInputOutputParameter

boolean validateInputOutputParameter(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                                     java.util.Map<java.lang.Object,java.lang.Object> context)
A selection Behavior has one input Parameter and one output Parameter. The input Parameter must have the same type as or a supertype of the type of ObjectNode, be non-unique, and have multiplicity 0..*. The output Parameter must be the same or a subtype of the type of ObjectNode. The Behavior cannot have side effects. selection<>null implies selection.inputParameters()->size()=1 and selection.inputParameters()->forAll(p | not p.isUnique and p.is(0,*) and self.type.conformsTo(p.type)) and selection.outputParameters()->size()=1 and selection.inputParameters()->forAll(p | self.type.conformsTo(p.type))

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.