## org.eclipse.uml2.uml
Interface ReduceAction

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

    public interface ReduceAction

extends Action

A representation of the model object 'Reduce Action'. A reduce action is an action that reduces a collection to a single value by combining the elements of the collection.

The following features are supported:

- `Reducer`
- `Result`
- `Collection`
- `Is Ordered`

See Also:
  `UMLPackage.getReduceAction()`

Field Summary

Fields inherited from interface org.eclipse.uml2.uml.NamedElement
`SEPARATOR`

Method Summary
`InputPin` `createCollection(java.lang.String name, Type type)` Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Collection' containment reference
`InputPin` `createCollection(java.lang.String name, Type type, org.eclipse.emf.ecore.EClass eClass)` Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Collection' containment reference
`OutputPin` `createResult(java.lang.String name, Type type)` Creates a new `OutputPin`,with the specified 'Name', and 'Type', and sets the 'Result' containment reference
`InputPin` `getCollection()` Returns the value of the 'Collection' containment reference.
`Behavior` `getReducer()` Returns the value of the 'Reducer' reference
`OutputPin` `getResult()` Returns the value of the 'Result' containment reference.
`boolean` `isOrdered()` Returns the value of the 'Is Ordered' attribute.
`void` `setCollection(InputPin value)` Sets the value of the '`Collection`' containment reference
`void` `setIsOrdered(boolean value)` Sets the value of the '`Is Ordered`' attribute
`void` `setReducer(Behavior value)` Sets the value of the '`Reducer`' reference
`void` `setResult(OutputPin value)` Sets the value of the '`Result`' containment reference
`boolean` `validateInputTypeIsCollection(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The type of the input must be a collection.
`boolean` `validateOutputTypesAreCompatible(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The type of the output must be compatible with the type of the output of the reducer behavior.
`boolean` `validateReducerInputsOutput(org.eclipse.emf.common.util.DiagnosticChain diagnostics, java.util.Map<java.lang.Object,java.lang.Object> context)` The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection.

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`

Methods inherited from interface org.eclipse.uml2.uml.ExecutableNode
`createHandler, getHandlers`

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, eIsProxy, eIsSet, eResource, eSet, eUnset`

Methods inherited from interface org.eclipse.emf.common.notify.Notifier
`eAdapters, eDeliver, eNotify, eSetDeliver`

Method Detail

### getReducer

    Behavior getReducer()

  Returns the value of the 'Reducer' reference. Behavior that is applied to two elements of the input collection to produce a value that is the same type as elements of the collection.

  Returns:
    the value of the 'Reducer' reference.
  See Also:
    `setReducer(Behavior)`, `UMLPackage.getReduceAction_Reducer()`

### setReducer

    void setReducer(Behavior value)

  Sets the value of the '`Reducer`' reference.

  Parameters:
    `value` - the new value of the 'Reducer' reference.
  See Also:
    `getReducer()`

### getResult

    OutputPin getResult()

  Returns the value of the 'Result' containment reference.

  This feature subsets the following features:

  - '`Output`'
  Gives the output pin on which the result is put.

  Returns:
    the value of the 'Result' containment reference.
  See Also:
    `setResult(OutputPin)`, `UMLPackage.getReduceAction_Result()`

### setResult

    void setResult(OutputPin value)

  Sets the value of the '`Result`' containment reference.

  Parameters:
    `value` - the new value of the 'Result' containment reference.
  See Also:
    `getResult()`

### createResult

    OutputPin createResult(java.lang.String name,
                           Type type)

  Creates a new `OutputPin`,with the specified 'Name', and 'Type', and sets the 'Result' containment reference.

  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:
    `getResult()`

### getCollection

    InputPin getCollection()

  Returns the value of the 'Collection' containment reference.

  This feature subsets the following features:

  - '`Input`'
  The collection to be reduced.

  Returns:
    the value of the 'Collection' containment reference.
  See Also:
    `setCollection(InputPin)`, `UMLPackage.getReduceAction_Collection()`

### setCollection

    void setCollection(InputPin value)

  Sets the value of the '`Collection`' containment reference.

  Parameters:
    `value` - the new value of the 'Collection' containment reference.
  See Also:
    `getCollection()`

### createCollection

    InputPin createCollection(java.lang.String name,
                              Type type,
                              org.eclipse.emf.ecore.EClass eClass)

  Creates a new `InputPin`, with the specified 'Name', and 'Type', and sets the 'Collection' containment reference.

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

### createCollection

    InputPin createCollection(java.lang.String name,
                              Type type)

  Creates a new `InputPin`,with the specified 'Name', and 'Type', and sets the 'Collection' containment reference.

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

### isOrdered

    boolean isOrdered()

  Returns the value of the 'Is Ordered' attribute. The default value is `"false"`. Tells whether the order of the input collection should determine the order in which the behavior is applied to its elements.

  Returns:
    the value of the 'Is Ordered' attribute.
  See Also:
    `setIsOrdered(boolean)`, `UMLPackage.getReduceAction_IsOrdered()`

### setIsOrdered

    void setIsOrdered(boolean value)

  Sets the value of the '`Is Ordered`' attribute.

  Parameters:
    `value` - the new value of the 'Is Ordered' attribute.
  See Also:
    `isOrdered()`

### validateInputTypeIsCollection

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

  The type of the input must be a collection. true

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

### validateOutputTypesAreCompatible

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

  The type of the output must be compatible with the type of the output of the reducer behavior. true

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

### validateReducerInputsOutput

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

  The reducer behavior must have two input parameters and one output parameter, of types compatible with the types of elements of the input collection. 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.