org.apache.tinkerpop.gremlin.process.traversal.step

## Interface Grouping<S,K,V>

- All Known Implementing Classes:
    GroupSideEffectStep, GroupStep

      public interface Grouping<S,K,V>

  An interface for common functionality of `GroupStep` and `GroupSideEffectStep`.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default Traversal.Admin<S,V>` | `convertValueTraversal(Traversal.Admin<S,V> valueTraversal)`
    `default Barrier` | `determineBarrierStep(Traversal.Admin<S,V> traversal)` Determines the first non-local `Barrier` step in the provided traversal.
    `default Map<K,V>` | `doFinalReduction(Map<K,Object> map, Traversal.Admin<S,V> valueTraversal)` When there is a `Barrier` detected by `determineBarrierStep(Traversal.Admin)` it is processed in full up to that point and then the remainder of the traversal that follows it is completed.
    `Traversal.Admin<S,K>` | `getKeyTraversal()` Determines if the provided traversal is equal to the key traversal that the `Grouping` has.
    `Traversal.Admin<S,V>` | `getValueTraversal()` Determines if the provided traversal is equal to the value traversal that the `Grouping` has.
    `default boolean` | `hasBarrierInValueTraversal()` Checks if there is a non-local `Barrier` in the value traversal.

- - ### Method Detail

    - #### getKeyTraversal

          Traversal.Admin<S,K> getKeyTraversal()

      Determines if the provided traversal is equal to the key traversal that the `Grouping` has.

    - #### getValueTraversal

          Traversal.Admin<S,V> getValueTraversal()

      Determines if the provided traversal is equal to the value traversal that the `Grouping` has.

    - #### hasBarrierInValueTraversal

          default boolean hasBarrierInValueTraversal()

      Checks if there is a non-local `Barrier` in the value traversal.

    - #### determineBarrierStep

          default Barrier determineBarrierStep(Traversal.Admin<S,V> traversal)

      Determines the first non-local `Barrier` step in the provided traversal. This method is used by `GroupStep` and `GroupSideEffectStep` to ultimately determine the reducing bi-operator.
      Parameters:
        `traversal` - The traversal to inspect.
      Returns:
        The first non-local barrier step or `null` if no such step was found.

    - #### convertValueTraversal

          default Traversal.Admin<S,V> convertValueTraversal(Traversal.Admin<S,V> valueTraversal)

    - #### doFinalReduction

          default Map<K,V> doFinalReduction(Map<K,Object> map,
                                            Traversal.Admin<S,V> valueTraversal)

      When there is a `Barrier` detected by `determineBarrierStep(Traversal.Admin)` it is processed in full up to that point and then the remainder of the traversal that follows it is completed.

Copyright © 2013–2022 Apache Software Foundation. All rights reserved.