All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.uml2.uml.ReduceAction Maven / Gradle / Ivy

/*
 * Copyright (c) 2005, 2007 IBM Corporation and others.
 * All rights reserved.   This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   IBM - initial API and implementation
 *
 * $Id: ReduceAction.java,v 1.9 2007/10/23 15:54:21 jbruck Exp $
 */
package org.eclipse.uml2.uml;

import java.util.Map;

import org.eclipse.emf.common.util.DiagnosticChain;

import org.eclipse.emf.ecore.EClass;

/**
 * 
 * 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: *

    *
  • {@link org.eclipse.uml2.uml.ReduceAction#getReducer Reducer}
  • *
  • {@link org.eclipse.uml2.uml.ReduceAction#getResult Result}
  • *
  • {@link org.eclipse.uml2.uml.ReduceAction#getCollection Collection}
  • *
  • {@link org.eclipse.uml2.uml.ReduceAction#isOrdered Is Ordered}
  • *
*

* * @see org.eclipse.uml2.uml.UMLPackage#getReduceAction() * @model * @generated */ public interface ReduceAction extends Action { /** * 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. * * @return the value of the 'Reducer' reference. * @see #setReducer(Behavior) * @see org.eclipse.uml2.uml.UMLPackage#getReduceAction_Reducer() * @model required="true" ordered="false" * @generated */ Behavior getReducer(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ReduceAction#getReducer Reducer}' reference. * * * @param value the new value of the 'Reducer' reference. * @see #getReducer() * @generated */ void setReducer(Behavior value); /** * Returns the value of the 'Result' containment reference. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Action#getOutputs() Output}'
  • *
*

* * * * Gives the output pin on which the result is put. * * @return the value of the 'Result' containment reference. * @see #setResult(OutputPin) * @see org.eclipse.uml2.uml.UMLPackage#getReduceAction_Result() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ OutputPin getResult(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ReduceAction#getResult Result}' containment reference. * * * @param value the new value of the 'Result' containment reference. * @see #getResult() * @generated */ void setResult(OutputPin value); /** * Creates a new {@link org.eclipse.uml2.uml.OutputPin},with the specified 'Name', and 'Type', and sets the 'Result' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.OutputPin}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.OutputPin}, or null. * @return The new {@link org.eclipse.uml2.uml.OutputPin}. * @see #getResult() * @generated */ OutputPin createResult(String name, Type type); /** * Returns the value of the 'Collection' containment reference. *

* This feature subsets the following features: *

    *
  • '{@link org.eclipse.uml2.uml.Action#getInputs() Input}'
  • *
*

* * * * The collection to be reduced. * * @return the value of the 'Collection' containment reference. * @see #setCollection(InputPin) * @see org.eclipse.uml2.uml.UMLPackage#getReduceAction_Collection() * @model containment="true" resolveProxies="true" required="true" ordered="false" * @generated */ InputPin getCollection(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ReduceAction#getCollection Collection}' containment reference. * * * @param value the new value of the 'Collection' containment reference. * @see #getCollection() * @generated */ void setCollection(InputPin value); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin}, with the specified 'Name', and 'Type', and sets the 'Collection' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param eClass The Ecore class of the {@link org.eclipse.uml2.uml.InputPin} to create. * @return The new {@link org.eclipse.uml2.uml.InputPin}. * @see #getCollection() * @generated */ InputPin createCollection(String name, Type type, EClass eClass); /** * Creates a new {@link org.eclipse.uml2.uml.InputPin},with the specified 'Name', and 'Type', and sets the 'Collection' containment reference. * * * @param name The 'Name' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @param type The 'Type' for the new {@link org.eclipse.uml2.uml.InputPin}, or null. * @return The new {@link org.eclipse.uml2.uml.InputPin}. * @see #getCollection() * @generated */ InputPin createCollection(String name, Type type); /** * 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. * * @return the value of the 'Is Ordered' attribute. * @see #setIsOrdered(boolean) * @see org.eclipse.uml2.uml.UMLPackage#getReduceAction_IsOrdered() * @model default="false" dataType="org.eclipse.uml2.uml.Boolean" required="true" ordered="false" * @generated */ boolean isOrdered(); /** * Sets the value of the '{@link org.eclipse.uml2.uml.ReduceAction#isOrdered Is Ordered}' attribute. * * * @param value the new value of the 'Is Ordered' attribute. * @see #isOrdered() * @generated */ void setIsOrdered(boolean value); /** * * * * The type of the input must be a collection. * true * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateInputTypeIsCollection(DiagnosticChain diagnostics, Map context); /** * * * * The type of the output must be compatible with the type of the output of the reducer behavior. * true * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateOutputTypesAreCompatible(DiagnosticChain diagnostics, Map 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 * @param diagnostics The chain of diagnostics to which problems are to be appended. * @param context The cache of context-specific information. * * @model * @generated */ boolean validateReducerInputsOutput(DiagnosticChain diagnostics, Map context); } // ReduceAction




© 2015 - 2025 Weber Informatics LLC | Privacy Policy