Package org.eclipse.rdf4j.query.algebra.evaluation.iterator

## Class BottomUpJoinIterator

- java.lang.Object
- - org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,​X>
  - - org.eclipse.rdf4j.common.iteration.LookAheadIteration<BindingSet,​QueryEvaluationException>
    - - org.eclipse.rdf4j.query.algebra.evaluation.iterator.BottomUpJoinIterator

- All Implemented Interfaces:
    `AutoCloseable`, `CloseableIteration<BindingSet,​QueryEvaluationException>`, `Iteration<BindingSet,​QueryEvaluationException>`
  Direct Known Subclasses:
    `LimitedSizeBottomUpJoinIterator`

      @Deprecated
      public class BottomUpJoinIterator
      extends LookAheadIteration<BindingSet,​QueryEvaluationException>

  Deprecated.
  replaced by HashJoinIteration
  Join Iterator that executes a basic bottom-up hash-join algorithm. To be used in cases where interleaved iteration joining is not appropriate (e.g. when the join arguments are subselects).
  Author:
    jeen

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BottomUpJoinIterator​(EvaluationStrategy strategy, Join join, BindingSet bindings)` | Deprecated.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `add​(List<BindingSet> leftArgResults, BindingSet b)` | Deprecated.
    `protected void` | `addAll​(List<BindingSet> hashTableValues, List<BindingSet> values)` | Deprecated.
    `protected long` | `clearHashTable()` | Deprecated.
    `protected BindingSet` | `getNextElement()` | Deprecated. Gets the next element.
    `protected void` | `handleClose()` | Deprecated. Called by `AbstractCloseableIteration.close()` when it is called for the first time.
    `protected List<BindingSet>` | `makeList()` | Deprecated. Utility methods to make it easier to inserted custom store dependent list
    `protected List<BindingSet>` | `makeList​(List<BindingSet> key)` | Deprecated. Utility methods to make it easier to inserted custom store dependent list
    `protected Map<BindingSet,​List<BindingSet>>` | `makeMap()` | Deprecated. Utility methods to make it easier to inserted custom store dependent maps
    `protected void` | `put​(Map<BindingSet,​List<BindingSet>> hashTable, BindingSet hashKey, List<BindingSet> hashValue)` | Deprecated.
    `protected BindingSet` | `removeFirstElement​(List<BindingSet> list)` | Deprecated. Remove the first (0 index) element from a BindingSet list.

    - ### Methods inherited from class org.eclipse.rdf4j.common.iteration.LookAheadIteration

      `hasNext, next, remove`

    - ### Methods inherited from class org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration

      `close, isClosed`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.common.iteration.Iteration

      `stream`

- - ### Constructor Detail

    - #### BottomUpJoinIterator

          public BottomUpJoinIterator​(EvaluationStrategy strategy,
                                      Join join,
                                      BindingSet bindings)
                               throws QueryEvaluationException

      Deprecated.
      Throws:
        `QueryEvaluationException`

  - ### Method Detail

    - #### getNextElement

          protected BindingSet getNextElement()
                                       throws QueryEvaluationException

      Deprecated.
      Description copied from class: `LookAheadIteration`
      Gets the next element. Subclasses should implement this method so that it returns the next element.
      Specified by:
        `getNextElement` in class `LookAheadIteration<BindingSet,​QueryEvaluationException>`
      Returns:
        The next element, or null if no more elements are available.
      Throws:
        `QueryEvaluationException`

    - #### handleClose

          protected void handleClose()
                              throws QueryEvaluationException

      Deprecated.
      Description copied from class: `AbstractCloseableIteration`
      Called by `AbstractCloseableIteration.close()` when it is called for the first time. This method is only called once on each iteration. By default, this method does nothing.
      Overrides:
        `handleClose` in class `LookAheadIteration<BindingSet,​QueryEvaluationException>`
      Throws:
        `QueryEvaluationException`

    - #### clearHashTable

          protected long clearHashTable()

      Deprecated.
      Returns:
        the size that the hashtable had before clearing it.

    - #### put

          protected void put​(Map<BindingSet,​List<BindingSet>> hashTable,
                             BindingSet hashKey,
                             List<BindingSet> hashValue)
                      throws QueryEvaluationException

      Deprecated.
      Throws:
        `QueryEvaluationException`

    - #### addAll

          protected void addAll​(List<BindingSet> hashTableValues,
                                List<BindingSet> values)
                         throws QueryEvaluationException

      Deprecated.
      Throws:
        `QueryEvaluationException`

    - #### add

          protected void add​(List<BindingSet> leftArgResults,
                             BindingSet b)
                      throws QueryEvaluationException

      Deprecated.
      Throws:
        `QueryEvaluationException`

    - #### makeMap

          protected Map<BindingSet,​List<BindingSet>> makeMap()

      Deprecated.
      Utility methods to make it easier to inserted custom store dependent maps
      Returns:
        map

    - #### makeList

          protected List<BindingSet> makeList()

      Deprecated.
      Utility methods to make it easier to inserted custom store dependent list
      Returns:
        list

    - #### makeList

          protected List<BindingSet> makeList​(List<BindingSet> key)

      Deprecated.
      Utility methods to make it easier to inserted custom store dependent list
      Returns:
        list

    - #### removeFirstElement

          protected BindingSet removeFirstElement​(List<BindingSet> list)
                                           throws QueryEvaluationException

      Deprecated.
      Remove the first (0 index) element from a BindingSet list.
      Parameters:
        `list` - which is worked on.
      Returns:
        the removed BindingSet
      Throws:
        `QueryEvaluationException`