org.eclipse.viatra.query.runtime.rete.recipes

## Interface SingleColumnAggregatorRecipe

- All Superinterfaces:
    AlphaRecipe, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.notify.Notifier, RederivableNodeRecipe, ReteNodeRecipe, SingleParentNodeRecipe
  All Known Implementing Classes:
    SingleColumnAggregatorRecipeImpl

      public interface SingleColumnAggregatorRecipe
      extends AlphaRecipe, RederivableNodeRecipe

  A representation of the model object 'Single Column Aggregator Recipe'.

  The following features are supported:

  - `Multiset Aggregation Operator`
  - `Aggregable Index`
  - `Group By Mask`
  See Also:
    `RecipesPackage.getSingleColumnAggregatorRecipe()`
  Generated:
  Model:

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAggregableIndex()` Returns the value of the 'Aggregable Index' attribute.
    `int` | `getArity()`
    `Mask` | `getGroupByMask()` Returns the value of the 'Group By Mask' containment reference.
    `IMultisetAggregationOperator<?,?,?>` | `getMultisetAggregationOperator()` Returns the value of the 'Multiset Aggregation Operator' attribute.
    `void` | `setAggregableIndex(int value)` Sets the value of the '`Aggregable Index`' attribute.
    `void` | `setGroupByMask(Mask value)` Sets the value of the '`Group By Mask`' containment reference.
    `void` | `setMultisetAggregationOperator(IMultisetAggregationOperator<?,?,?> value)` Sets the value of the '`Multiset Aggregation Operator`' attribute.

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.recipes.SingleParentNodeRecipe

      `getParent, setParent`

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.recipes.ReteNodeRecipe

      `getEquivalenceClassIDs, getTraceInfo, setTraceInfo`

    - ### 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.viatra.query.runtime.rete.recipes.RederivableNodeRecipe

      `getOptionalMonotonicityInfo, isDeleteRederiveEvaluation, setDeleteRederiveEvaluation, setOptionalMonotonicityInfo`

- - ### Method Detail

    - #### getMultisetAggregationOperator

          IMultisetAggregationOperator<?,?,?> getMultisetAggregationOperator()

      Returns the value of the 'Multiset Aggregation Operator' attribute.

      If the meaning of the 'Multiset Aggregation Operator' attribute isn't clear, there really should be more of a description here...

      Returns:
        the value of the 'Multiset Aggregation Operator' attribute.
      See Also:
        `setMultisetAggregationOperator(IMultisetAggregationOperator)`, `RecipesPackage.getSingleColumnAggregatorRecipe_MultisetAggregationOperator()`
      Generated:
      Model:
        dataType="org.eclipse.viatra.query.runtime.rete.recipes.AggregationOperator"

    - #### setMultisetAggregationOperator

          void setMultisetAggregationOperator(IMultisetAggregationOperator<?,?,?> value)

      Sets the value of the '`Multiset Aggregation Operator`' attribute.
      Parameters:
        `value` - the new value of the 'Multiset Aggregation Operator' attribute.
      See Also:
        `getMultisetAggregationOperator()`
      Generated:

    - #### getAggregableIndex

          int getAggregableIndex()

      Returns the value of the 'Aggregable Index' attribute.

      If the meaning of the 'Aggregable Index' attribute isn't clear, there really should be more of a description here...

      Returns:
        the value of the 'Aggregable Index' attribute.
      See Also:
        `setAggregableIndex(int)`, `RecipesPackage.getSingleColumnAggregatorRecipe_AggregableIndex()`
      Generated:
      Model:

    - #### setAggregableIndex

          void setAggregableIndex(int value)

      Sets the value of the '`Aggregable Index`' attribute.
      Parameters:
        `value` - the new value of the 'Aggregable Index' attribute.
      See Also:
        `getAggregableIndex()`
      Generated:

    - #### getGroupByMask

          Mask getGroupByMask()

      Returns the value of the 'Group By Mask' containment reference.

      If the meaning of the 'Group By Mask' containment reference isn't clear, there really should be more of a description here...

      Returns:
        the value of the 'Group By Mask' containment reference.
      See Also:
        `setGroupByMask(Mask)`, `RecipesPackage.getSingleColumnAggregatorRecipe_GroupByMask()`
      Generated:
      Model:
        containment="true" resolveProxies="true" required="true"

    - #### setGroupByMask

          void setGroupByMask(Mask value)

      Sets the value of the '`Group By Mask`' containment reference.
      Parameters:
        `value` - the new value of the 'Group By Mask' containment reference.
      See Also:
        `getGroupByMask()`
      Generated:

    - #### getArity

          int getArity()

      Specified by:
        `getArity` in interface `ReteNodeRecipe`
      Generated:
      Model:
        kind="operation" unique="false" annotation="http://www.eclipse.org/emf/2002/GenModel body='<%org.eclipse.viatra.query.runtime.rete.recipes.MonotonicityInfo%> info = getOptionalMonotonicityInfo();\nif (info == null) {\n\treturn 1 + getGroupByMask().getSourceIndices().size();\n} else {\t\n\treturn info.getCoreMask().getSourceIndices().size() + info.getPosetMask().getSourceIndices().size();\n}'"