org.eclipse.rdf4j.query.resultio.helpers

## Class BackgroundTupleResult

- java.lang.Object
- - org.eclipse.rdf4j.common.iteration.AbstractCloseableIteration<E,X>
  - - org.eclipse.rdf4j.common.iteration.IterationWrapper<BindingSet,QueryEvaluationException>
    - - org.eclipse.rdf4j.query.impl.IteratingTupleQueryResult
      - - org.eclipse.rdf4j.query.resultio.helpers.BackgroundTupleResult

- All Implemented Interfaces:
    AutoCloseable, Iterable<BindingSet>, Runnable, CloseableIteration<BindingSet,QueryEvaluationException>, Iteration<BindingSet,QueryEvaluationException>, QueryResult<BindingSet>, QueryResultHandler, TupleQueryResult, TupleQueryResultHandler
  Direct Known Subclasses:
    BackgroundTupleResult

      public class BackgroundTupleResult
      extends IteratingTupleQueryResult
      implements Runnable, TupleQueryResultHandler

  Provides concurrent access to tuple results as they are being parsed.
  Author:
    James Leigh

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.common.iteration.IterationWrapper

      `wrappedIter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BackgroundTupleResult(QueueCursor<BindingSet> queue, TupleQueryResultParser parser, InputStream in)`
    `BackgroundTupleResult(TupleQueryResultParser parser, InputStream in)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `endQueryResult()` Indicates the end of a sequence of solutions.
    `List<String>` | `getBindingNames()` Gets the names of the bindings, in order of projection.
    `void` | `handleBoolean(boolean value)` Handles the specified boolean value.
    `protected void` | `handleClose()` Closes this Iteration and also closes the wrapped Iteration if it is a `CloseableIteration`.
    `void` | `handleLinks(List<String> linkUrls)` Handles the links elements which are present in SPARQL Results JSON and SPARQL Results XML documents in the header.
    `void` | `handleSolution(BindingSet bindingSet)` Handles a solution.
    `void` | `run()`
    `void` | `startQueryResult(List<String> bindingNames)` Indicates the start of a sequence of Solutions.

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

      `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.query.QueryResult

      `iterator`

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

      `close`

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

      `hasNext, next, remove, stream`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Constructor Detail

    - #### BackgroundTupleResult

          public BackgroundTupleResult(TupleQueryResultParser parser,
                                       InputStream in)

    - #### BackgroundTupleResult

          public BackgroundTupleResult(QueueCursor<BindingSet> queue,
                                       TupleQueryResultParser parser,
                                       InputStream in)

  - ### Method Detail

    - #### handleClose

          protected void handleClose()
                              throws QueryEvaluationException

      Description copied from class: `IterationWrapper`
      Closes this Iteration and also closes the wrapped Iteration if it is a `CloseableIteration`.
      Overrides:
        `handleClose` in class `IterationWrapper<BindingSet,QueryEvaluationException>`
      Throws:
        `QueryEvaluationException`

    - #### getBindingNames

          public List<String> getBindingNames()

      Description copied from interface: `TupleQueryResult`
      Gets the names of the bindings, in order of projection.
      Specified by:
        `getBindingNames` in interface `TupleQueryResult`
      Overrides:
        `getBindingNames` in class `IteratingTupleQueryResult`
      Returns:
        The binding names, in order of projection.

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`

    - #### startQueryResult

          public void startQueryResult(List<String> bindingNames)
                                throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Indicates the start of a sequence of Solutions. The supplied bindingNames are an indication of the values that are in the Solutions. For example, a SeRQL query like `select X, Y from {X} P {Y}` will have binding names `X` and `Y`.
      Specified by:
        `startQueryResult` in interface `QueryResultHandler`
      Parameters:
        `bindingNames` - An ordered set of binding names.
      Throws:
        `TupleQueryResultHandlerException` - If there was an error during the starting of the query result handler. This exception may be thrown if the `QueryResultHandler.handleBoolean(boolean)` method was called before this method and the handler cannot process both boolean and tuple results simultaneously.

    - #### handleSolution

          public void handleSolution(BindingSet bindingSet)
                              throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Handles a solution.
      Specified by:
        `handleSolution` in interface `QueryResultHandler`
      Parameters:
        `bindingSet` - A single set of tuple results, with binding names bound to values. Each of the binding names in the solution must have previously been registered with the `QueryResultHandler.startQueryResult(List)` method.
      Throws:
        `TupleQueryResultHandlerException` - If there was an error during the handling of the query solution. This exception may be thrown if the `QueryResultHandler.handleBoolean(boolean)` method was called before this method and the handler cannot process both boolean and tuple results simultaneously.

    - #### endQueryResult

          public void endQueryResult()
                              throws TupleQueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Indicates the end of a sequence of solutions.
      Specified by:
        `endQueryResult` in interface `QueryResultHandler`
      Throws:
        `TupleQueryResultHandlerException` - If there was an error during the ending of the query result handler. This exception may be thrown if the `QueryResultHandler.handleBoolean(boolean)` method was called before this method and the handler cannot process both boolean and tuple results simultaneously.

    - #### handleBoolean

          public void handleBoolean(boolean value)
                             throws QueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Handles the specified boolean value.
      Specified by:
        `handleBoolean` in interface `QueryResultHandler`
      Parameters:
        `value` - The boolean value to handle.
      Throws:
        `QueryResultHandlerException` - If there was an error during the handling of this value. This exception may be thrown if the `QueryResultHandler.startQueryResult(List)`, `QueryResultHandler.handleSolution(BindingSet)` or `QueryResultHandler.endQueryResult()` methods were called before this method was called, and the handler cannot process both boolean and tuple results simultaneously.

    - #### handleLinks

          public void handleLinks(List<String> linkUrls)
                           throws QueryResultHandlerException

      Description copied from interface: `QueryResultHandler`
      Handles the links elements which are present in SPARQL Results JSON and SPARQL Results XML documents in the header.

      NOTE: If the format does not support links, it must silently ignore a call to this method.

      An accumulating handler should accumulate these links.

      Specified by:
        `handleLinks` in interface `QueryResultHandler`
      Parameters:
        `linkUrls` - The URLs of the links to handle.
      Throws:
        `QueryResultHandlerException` - If there was an error handling the set of link URLs. This error is not thrown in cases where links are not supported.
      See Also:
        "link"

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