## org.eclipse.uml2.uml
Interface ObjectNode

All Superinterfaces:
  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 object node is an abstract activity node that is part of defining object flow in an activity. Object nodes have support for token selection, limitation on the number of tokens, specifying the state required for tokens, and carrying control values.

The following features are supported:

- `Ordering`
- `Is Control Type`
- `Upper Bound`
- `In State`
- `Selection`

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` `validateNotUnique(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` Object nodes are not unique typed elements isUnique = false
`boolean` `validateObjectFlowEdges(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` All edges coming into or going out of object nodes must be object flow edges.
`boolean` `validateSelectionBehavior(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` If an object node 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, getInGroups, 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, 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.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`. Tells whether and how the tokens in the object node are ordered for selection to traverse edges outgoing from the object node.

  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"`. Tells whether the type of the object node is to be treated as control.

  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:

  - '`Owned Element`'
  The maximum number of tokens allowed in the node. Objects cannot flow into the node if the upper bound is reached.

  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 required states of the object available at this point in the activity.

  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. Selects tokens for outgoing edges.

  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)

  All edges coming into or going out of object nodes must be object flow edges. true

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

### validateNotUnique

    boolean validateNotUnique(org.eclipse.emf.common.util.DiagnosticChain diagnostics,
                              java.util.Map<java.lang.Object,java.lang.Object> context)

  Object nodes are not unique typed elements isUnique = false

  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 object node has a selection behavior, then the ordering of the object node is ordered, and vice versa. true

  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 be a bag of elements of the same type as the object node or a supertype of the type of object node. The output parameter must be the same or a subtype of the type of object node. The behavior cannot have side effects. true

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

Copyright 2003, 2007 IBM Corporation and others. All Rights Reserved.