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 and Description
    `LimitedSizeHashJoinIteration(EvaluationStrategy limitedSizeEvaluationStrategy, Join join, BindingSet bindings, AtomicLong used, long maxSize)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.