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

## Class DescribeIteration

- 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.DescribeIteration

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

      public class DescribeIteration
      extends LookAheadIteration<BindingSet,​QueryEvaluationException>

  Iteration that implements a simplified version of Symmetric Concise Bounded Description (omitting reified statements).
  Author:
    Jeen Broekstra
  See Also:
    Concise Bounded Description - alternatives

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected BindingSet` | `parentBindings` |
    `protected static String` | `VARNAME_OBJECT` |
    `protected static String` | `VARNAME_PREDICATE` |
    `protected static String` | `VARNAME_SUBJECT` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DescribeIteration​(Iteration<BindingSet,​QueryEvaluationException> sourceIter, EvaluationStrategy strategy, Set<String> describeExprNames, BindingSet parentBindings)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected CloseableIteration<BindingSet,​QueryEvaluationException>` | `createNextIteration​(Value subject, Value object)` |
    `protected BindingSet` | `getNextElement()` | Gets the next element.

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

      `handleClose, 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`

- - ### Field Detail

    - #### VARNAME_SUBJECT

          protected static final String VARNAME_SUBJECT

      See Also:
        Constant Field Values

    - #### VARNAME_PREDICATE

          protected static final String VARNAME_PREDICATE

      See Also:
        Constant Field Values

    - #### VARNAME_OBJECT

          protected static final String VARNAME_OBJECT

      See Also:
        Constant Field Values

    - #### parentBindings

          protected BindingSet parentBindings

  - ### Constructor Detail

    - #### DescribeIteration

          public DescribeIteration​(Iteration<BindingSet,​QueryEvaluationException> sourceIter,
                                   EvaluationStrategy strategy,
                                   Set<String> describeExprNames,
                                   BindingSet parentBindings)

  - ### Method Detail

    - #### getNextElement

          protected BindingSet getNextElement()
                                       throws QueryEvaluationException

      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`

    - #### createNextIteration

          protected CloseableIteration<BindingSet,​QueryEvaluationException> createNextIteration​(Value subject,
                                                                                                      Value object)
                                                                                               throws QueryEvaluationException

      Throws:
        `QueryEvaluationException`