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

## Class LimitedSizeHashJoinIteration

- 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.HashJoinIteration
      - - org.eclipse.rdf4j.query.algebra.evaluation.limited.iterator.LimitedSizeHashJoinIteration

- All Implemented Interfaces:
    `AutoCloseable`, `CloseableIteration<BindingSet,​QueryEvaluationException>`, `Iteration<BindingSet,​QueryEvaluationException>`

      public class LimitedSizeHashJoinIteration
      extends HashJoinIteration

  Author:
    MJAHale

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.query.algebra.evaluation.iterator.HashJoinIteration

      `joinAttributes`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `LimitedSizeHashJoinIteration​(EvaluationStrategy limitedSizeEvaluationStrategy, Join join, BindingSet bindings, AtomicLong used, long maxSize)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected <E> void` | `add​(Collection<E> col, E value)` |
    `protected <E> void` | `addAll​(Collection<E> col, List<E> values)` |
    `protected void` | `disposeHashTable​(Map<BindingSetHashKey,​List<BindingSet>> map)` | Utility methods to clear-up in case not using in-memory hash table.
    `protected <E> E` | `nextFromCache​(Iterator<E> iter)` |
    `protected void` | `putHashTableEntry​(Map<BindingSetHashKey,​List<BindingSet>> hashTable, BindingSetHashKey hashKey, List<BindingSet> hashValue)` |

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.evaluation.iterator.HashJoinIteration

      `closeHashValue, disposeCache, getNextElement, handleClose, makeHashTable, makeHashValue, makeIterationCache, putHashTableEntry`

    - ### 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

    - #### LimitedSizeHashJoinIteration

          public LimitedSizeHashJoinIteration​(EvaluationStrategy limitedSizeEvaluationStrategy,
                                              Join join,
                                              BindingSet bindings,
                                              AtomicLong used,
                                              long maxSize)
                                       throws QueryEvaluationException

      Throws:
        `QueryEvaluationException`

  - ### Method Detail

    - #### nextFromCache

          protected <E> E nextFromCache​(Iterator<E> iter)

      Overrides:
        `nextFromCache` in class `HashJoinIteration`

    - #### add

          protected <E> void add​(Collection<E> col,
                                 E value)
                          throws QueryEvaluationException

      Overrides:
        `add` in class `HashJoinIteration`
      Throws:
        `QueryEvaluationException`

    - #### addAll

          protected <E> void addAll​(Collection<E> col,
                                    List<E> values)
                             throws QueryEvaluationException

      Overrides:
        `addAll` in class `HashJoinIteration`
      Throws:
        `QueryEvaluationException`

    - #### putHashTableEntry

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

      Throws:
        `QueryEvaluationException`

    - #### disposeHashTable

          protected void disposeHashTable​(Map<BindingSetHashKey,​List<BindingSet>> map)

      Description copied from class: `HashJoinIteration`
      Utility methods to clear-up in case not using in-memory hash table.
      Overrides:
        `disposeHashTable` in class `HashJoinIteration`