Package org.eclipse.rdf4j.federated.algebra

## Class StatementSourcePattern

- java.lang.Object
- - org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
  - - org.eclipse.rdf4j.query.algebra.StatementPattern
    - - org.eclipse.rdf4j.federated.algebra.FedXStatementPattern
      - - org.eclipse.rdf4j.federated.algebra.StatementSourcePattern

- All Implemented Interfaces:
    `Serializable`, `Cloneable`, `BoundJoinTupleExpr`, `FedXTupleExpr`, `FilterTuple`, `QueryRef`, `StatementTupleExpr`, `VariableExpr`, `GraphPatternGroupable`, `QueryModelNode`, `TupleExpr`, `VariableScopeChange`

      public class StatementSourcePattern
      extends FedXStatementPattern

  Represents statements that can produce results at a some particular endpoints, the statement sources.
  Author:
    Andreas Schwarte
  See Also:
    `StatementSource`, Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.eclipse.rdf4j.query.algebra.StatementPattern

      `StatementPattern.Scope`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected FederationContext` | `federationContext` |
    `protected boolean` | `usePreparedQuery` |

    - ### Fields inherited from class org.eclipse.rdf4j.federated.algebra.FedXStatementPattern

      `boundFilters, filterExpr, freeVars, id, queryInfo, statementSources, upperLimit`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StatementSourcePattern​(StatementPattern node, QueryInfo queryInfo)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addStatementSource​(StatementSource statementSource)` |
    `CloseableIteration<BindingSet,​QueryEvaluationException>` | `evaluate​(BindingSet bindings)` | Evaluate this expression using the provided bindings
    `protected CloseableIteration<BindingSet,​QueryEvaluationException>` | `handleStatementSourcePatternCheck​(BindingSet bindings)` |

    - ### Methods inherited from class org.eclipse.rdf4j.federated.algebra.FedXStatementPattern

      `addBoundFilter, addFilterExpr, getBoundFilters, getFilterExpr, getFreeVarCount, getFreeVars, getId, getQueryInfo, getSourceCount, getStatementSources, getUpperLimit, hasFilter, hasFreeVarsFor, initFreeVars, setUpperLimit, visit, visitChildren`

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.StatementPattern

      `clone, equals, getAssuredBindingNames, getBindingNames, getContextVar, getObjectVar, getPredicateVar, getScope, getSignature, getSubjectVar, getVarList, getVars, hashCode, replaceChildNode, setContextVar, setObjectVar, setPredicateVar, setScope, setSubjectVar`

    - ### Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode

      `getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toString`

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

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode

      `equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString`

    - ### Methods inherited from interface org.eclipse.rdf4j.query.algebra.TupleExpr

      `clone, getAssuredBindingNames, getBindingNames`

- - ### Field Detail

    - #### usePreparedQuery

          protected boolean usePreparedQuery

    - #### federationContext

          protected final FederationContext federationContext

  - ### Constructor Detail

    - #### StatementSourcePattern

          public StatementSourcePattern​(StatementPattern node,
                                        QueryInfo queryInfo)

  - ### Method Detail

    - #### addStatementSource

          public void addStatementSource​(StatementSource statementSource)

    - #### evaluate

          public CloseableIteration<BindingSet,​QueryEvaluationException> evaluate​(BindingSet bindings)
                                                                                 throws QueryEvaluationException

      Description copied from interface: `StatementTupleExpr`
      Evaluate this expression using the provided bindings
      Returns:
        the result iteration
      Throws:
        `QueryEvaluationException`

    - #### handleStatementSourcePatternCheck

          protected CloseableIteration<BindingSet,​QueryEvaluationException> handleStatementSourcePatternCheck​(BindingSet bindings)
                                                                                                             throws RepositoryException,
                                                                                                                    MalformedQueryException,
                                                                                                                    QueryEvaluationException

      Throws:
        `RepositoryException`
        `MalformedQueryException`
        `QueryEvaluationException`