Interface IReduceAction
The public interface for ReduceAction
[DefaultImplementationType(typeof(ReduceAction))]
[XmlDefaultImplementationType(typeof(ReduceAction))]
[ModelRepresentationClass("http://www.eclipse.org/uml2/5.0.0/UML#//ReduceAction")]
public interface IReduceAction : IAction, IExecutableNode, IActivityNode, IActivityContent, IRedefinableElement, INamedElement, IElement, IEModelElement, IModelElement, INotifyPropertyChanged, INotifyPropertyChanging
- Inherited Members
Properties
Collection
The InputPin that provides the collection to be reduced. <p>From package UML::Actions.</p>
[Browsable(false)]
[XmlElementName("collection")]
[XmlAttribute(false)]
[Containment]
IInputPin Collection { get; set; }
Property Value
IsOrdered
Indicates whether the order of the input collection should determine the order in which the reducer Behavior is applied to its elements. <p>From package UML::Actions.</p>
[TypeConverter(typeof(LowercaseBooleanConverter))]
[XmlElementName("isOrdered")]
[XmlAttribute(true)]
bool IsOrdered { get; set; }
Property Value
Reducer
A Behavior that is repreatedly applied to two elements of the input collection to produce a value that is of the same type as elements of the collection. <p>From package UML::Actions.</p>
[XmlElementName("reducer")]
[XmlAttribute(true)]
IBehavior Reducer { get; set; }
Property Value
Result
The output pin on which the result value is placed. <p>From package UML::Actions.</p>
[Browsable(false)]
[XmlElementName("result")]
[XmlAttribute(false)]
[Containment]
IOutputPin Result { get; set; }
Property Value
Methods
Input_type_is_collection(object, object)
The type of the collection InputPin must be a collection.
bool Input_type_is_collection(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Output_types_are_compatible(object, object)
The type of the output of the reducer Behavior must conform to the type of the result OutputPin. reducer.outputParameters().type->forAll(conformsTo(result.type))
bool Output_types_are_compatible(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.
Returns
Reducer_inputs_output(object, object)
The reducer Behavior must have two input ownedParameters and one output ownedParameter, where the type of the output Parameter and the type of elements of the input collection conform to the types of the input Parameters. let inputs: OrderedSet(Parameter) = reducer.inputParameters() in let outputs: OrderedSet(Parameter) = reducer.outputParameters() in inputs->size()=2 and outputs->size()=1 and inputs.type->forAll(t | outputs.type->forAll(conformsTo(t)) and -- Note that the following only checks the case when the collection is via multiple tokens. collection.upperBound()>1 implies collection.type.conformsTo(t))
bool Reducer_inputs_output(object diagnostics, object context)
Parameters
diagnostics
objectThe chain of diagnostics to which problems are to be appended.
context
objectThe cache of context-specific information.