org.eclipse.rdf4j.sail.base

## Class SailSourceConnection

- java.lang.Object
- - org.eclipse.rdf4j.sail.helpers.AbstractSailConnection
  - - org.eclipse.rdf4j.sail.helpers.NotifyingSailConnectionBase
    - - org.eclipse.rdf4j.sail.base.SailSourceConnection

- All Implemented Interfaces:
    AutoCloseable, FederatedServiceResolverClient, InferencerConnection, NotifyingSailConnection, SailConnection
  Direct Known Subclasses:
    MemoryStoreConnection, NativeStoreConnection

      public abstract class SailSourceConnection
      extends NotifyingSailConnectionBase
      implements InferencerConnection, FederatedServiceResolverClient

  A `SailConnection` implementation that is based on an `SailStore` .
  Author:
    James Leigh

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.sail.helpers.AbstractSailConnection

      `connectionLock, logger, updateLock`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SailSourceConnection(AbstractSail sail, SailStore store, EvaluationStrategyFactory evalStratFactory)` Creates a new `SailConnection`, using the given `SailStore` to manage the state.
    `protected` | `SailSourceConnection(AbstractSail sail, SailStore store, FederatedServiceResolver resolver)` Creates a new `SailConnection`, using the given `SailStore` to manage the state.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `addInferredStatement(Resource subj, IRI pred, Value obj, Resource... contexts)` Adds an inferred statement to a specific context.
    `void` | `addStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts)` The default implementation buffers added statements until the update operation is complete.
    `void` | `clearInferred(Resource... contexts)` Removes all inferred statements from the specified/all contexts.
    `protected void` | `clearInternal(Resource... contexts)`
    `protected void` | `clearNamespacesInternal()`
    `protected void` | `closeInternal()`
    `protected void` | `commitInternal()`
    `protected void` | `endUpdateInternal(UpdateContext op)`
    `protected CloseableIteration<? extends BindingSet,QueryEvaluationException>` | `evaluateInternal(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings, boolean includeInferred)`
    `void` | `flushUpdates()` Flushes any pending updates to be processed and the resulting changes to be reported to registered `SailConnectionListener`s.
    `protected CloseableIteration<? extends Resource,SailException>` | `getContextIDsInternal()`
    `protected EvaluationStrategy` | `getEvaluationStrategy(Dataset dataset, TripleSource tripleSource)`
    `FederatedServiceResolver` | `getFederatedServiceResolver()` Returns the `FederatedServiceResolver` being used.
    `protected String` | `getNamespaceInternal(String prefix)`
    `protected CloseableIteration<? extends Namespace,SailException>` | `getNamespacesInternal()`
    `protected CloseableIteration<? extends Statement,SailException>` | `getStatementsInternal(Resource subj, IRI pred, Value obj, boolean includeInferred, Resource... contexts)`
    `protected void` | `prepareInternal()`
    `boolean` | `removeInferredStatement(Resource subj, IRI pred, Value obj, Resource... contexts)` Removes an inferred statement from a specific context.
    `protected void` | `removeNamespaceInternal(String prefix)`
    `void` | `removeStatement(UpdateContext op, Resource subj, IRI pred, Value obj, Resource... contexts)` The default implementation buffers removed statements until the update operation is complete.
    `protected void` | `rollbackInternal()`
    `void` | `setFederatedServiceResolver(FederatedServiceResolver resolver)` Sets the `FederatedServiceResolver` to use.
    `protected void` | `setNamespaceInternal(String prefix, String name)`
    `protected long` | `sizeInternal(Resource... contexts)`
    `protected void` | `startTransactionInternal()`
    `void` | `startUpdate(UpdateContext op)` Signals the start of an update operation.

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.NotifyingSailConnectionBase

      `addConnectionListener, hasConnectionListeners, notifyStatementAdded, notifyStatementRemoved, removeConnectionListener`

    - ### Methods inherited from class org.eclipse.rdf4j.sail.helpers.AbstractSailConnection

      `addStatement, addStatementInternal, autoStartTransaction, begin, begin, clear, clearNamespaces, close, commit, endUpdate, evaluate, flush, getContextIDs, getExclusiveConnectionLock, getNamespace, getNamespaces, getSharedConnectionLock, getStatements, getTransactionIsolation, getTransactionLock, isActive, isActiveOperation, isOpen, iterationClosed, pendingAdds, pendingRemovals, prepare, registerIteration, removeNamespace, removeStatements, removeStatementsInternal, rollback, setNamespace, size, transactionActive, verifyIsActive, verifyIsOpen`

    - ### 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.sail.NotifyingSailConnection

      `addConnectionListener, removeConnectionListener`

    - ### Methods inherited from interface org.eclipse.rdf4j.sail.SailConnection

      `addStatement, addStatement, addStatement, begin, begin, clear, clearNamespaces, close, commit, endUpdate, evaluate, flush, getContextIDs, getNamespace, getNamespaces, getStatements, getStatements, hasStatement, isActive, isOpen, pendingRemovals, prepare, removeNamespace, removeStatement, removeStatements, removeStatements, rollback, setNamespace, size`

- - ### Constructor Detail

    - #### SailSourceConnection

          protected SailSourceConnection(AbstractSail sail,
                                         SailStore store,
                                         FederatedServiceResolver resolver)

      Creates a new `SailConnection`, using the given `SailStore` to manage the state.
      Parameters:
        `sail` -
        `store` -
        `resolver` - the FederatedServiceResolver to use with the `default EvaluationStrategy`.

    - #### SailSourceConnection

          protected SailSourceConnection(AbstractSail sail,
                                         SailStore store,
                                         EvaluationStrategyFactory evalStratFactory)

      Creates a new `SailConnection`, using the given `SailStore` to manage the state.
      Parameters:
        `sail` -
        `store` -
        `evalStratFactory` - the `EvaluationStrategyFactory` to use.

  - ### Method Detail

    - #### getFederatedServiceResolver

          public FederatedServiceResolver getFederatedServiceResolver()

      Returns the `FederatedServiceResolver` being used.
      Returns:
        null if a custom `EvaluationStrategyFactory` is being used.

    - #### setFederatedServiceResolver

          public void setFederatedServiceResolver(FederatedServiceResolver resolver)

      Sets the `FederatedServiceResolver` to use. If a custom `EvaluationStrategyFactory` is being used then this only has an effect if it implements `FederatedServiceResolverClient`.
      Specified by:
        `setFederatedServiceResolver` in interface `FederatedServiceResolverClient`
      Parameters:
        `resolver` - The resolver to use.

    - #### getEvaluationStrategy

          protected EvaluationStrategy getEvaluationStrategy(Dataset dataset,
                                                             TripleSource tripleSource)

    - #### evaluateInternal

          protected CloseableIteration<? extends BindingSet,QueryEvaluationException> evaluateInternal(TupleExpr tupleExpr,
                                                                                                       Dataset dataset,
                                                                                                       BindingSet bindings,
                                                                                                       boolean includeInferred)
                                                                                                throws SailException

      Specified by:
        `evaluateInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### closeInternal

          protected void closeInternal()
                                throws SailException

      Specified by:
        `closeInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### getContextIDsInternal

          protected CloseableIteration<? extends Resource,SailException> getContextIDsInternal()
                                                                                        throws SailException

      Specified by:
        `getContextIDsInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### getStatementsInternal

          protected CloseableIteration<? extends Statement,SailException> getStatementsInternal(Resource subj,
                                                                                                IRI pred,
                                                                                                Value obj,
                                                                                                boolean includeInferred,
                                                                                                Resource... contexts)
                                                                                         throws SailException

      Specified by:
        `getStatementsInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### sizeInternal

          protected long sizeInternal(Resource... contexts)
                               throws SailException

      Specified by:
        `sizeInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### getNamespacesInternal

          protected CloseableIteration<? extends Namespace,SailException> getNamespacesInternal()
                                                                                         throws SailException

      Specified by:
        `getNamespacesInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### getNamespaceInternal

          protected String getNamespaceInternal(String prefix)
                                         throws SailException

      Specified by:
        `getNamespaceInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### startTransactionInternal

          protected void startTransactionInternal()
                                           throws SailException

      Specified by:
        `startTransactionInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### prepareInternal

          protected void prepareInternal()
                                  throws SailException

      Overrides:
        `prepareInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### commitInternal

          protected void commitInternal()
                                 throws SailException

      Specified by:
        `commitInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### rollbackInternal

          protected void rollbackInternal()
                                   throws SailException

      Specified by:
        `rollbackInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### startUpdate

          public void startUpdate(UpdateContext op)
                           throws SailException

      Description copied from interface: `SailConnection`
      Signals the start of an update operation. The given `op` maybe passed to subsequent `SailConnection.addStatement(UpdateContext, Resource, IRI, Value, Resource...)` or `SailConnection.removeStatement(UpdateContext, Resource, IRI, Value, Resource...)` calls before `SailConnection.endUpdate(UpdateContext)` is called.
      Specified by:
        `startUpdate` in interface `SailConnection`
      Overrides:
        `startUpdate` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### addStatement

          public void addStatement(UpdateContext op,
                                   Resource subj,
                                   IRI pred,
                                   Value obj,
                                   Resource... contexts)
                            throws SailException

      Description copied from class: `AbstractSailConnection`
      The default implementation buffers added statements until the update operation is complete.
      Specified by:
        `addStatement` in interface `SailConnection`
      Overrides:
        `addStatement` in class `AbstractSailConnection`
      Parameters:
        `op` - operation properties of the `UpdateExpr` operation producing these statements.
        `subj` - The subject of the statement to add.
        `pred` - The predicate of the statement to add.
        `obj` - The object of the statement to add.
        `contexts` - The context(s) to add the statement to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, a context-less statement will be added.
      Throws:
        `SailException` - If the statement could not be added, for example because no transaction is active.

    - #### removeStatement

          public void removeStatement(UpdateContext op,
                                      Resource subj,
                                      IRI pred,
                                      Value obj,
                                      Resource... contexts)
                               throws SailException

      Description copied from class: `AbstractSailConnection`
      The default implementation buffers removed statements until the update operation is complete.
      Specified by:
        `removeStatement` in interface `SailConnection`
      Overrides:
        `removeStatement` in class `AbstractSailConnection`
      Parameters:
        `op` - operation properties of the `UpdateExpr` operation removing these statements.
        `subj` - The subject of the statement that should be removed.
        `pred` - The predicate of the statement that should be removed.
        `obj` - The object of the statement that should be removed.
        `contexts` - The context(s) from which to remove the statement. Note that this parameter is a vararg and as such is optional. If no contexts are specified the method operates on the entire repository. A `null` value can be used to match context-less statements.
      Throws:
        `SailException` - If the statement could not be removed, for example because no transaction is active.

    - #### endUpdateInternal

          protected void endUpdateInternal(UpdateContext op)
                                    throws SailException

      Overrides:
        `endUpdateInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### addInferredStatement

          public boolean addInferredStatement(Resource subj,
                                              IRI pred,
                                              Value obj,
                                              Resource... contexts)
                                       throws SailException

      Description copied from interface: `InferencerConnection`
      Adds an inferred statement to a specific context.
      Specified by:
        `addInferredStatement` in interface `InferencerConnection`
      Parameters:
        `subj` - The subject of the statement to add.
        `pred` - The predicate of the statement to add.
        `obj` - The object of the statement to add.
        `contexts` - The context(s) to add the statement to. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `SailException` - If the statement could not be added.

    - #### removeInferredStatement

          public boolean removeInferredStatement(Resource subj,
                                                 IRI pred,
                                                 Value obj,
                                                 Resource... contexts)
                                          throws SailException

      Description copied from interface: `InferencerConnection`
      Removes an inferred statement from a specific context.
      Specified by:
        `removeInferredStatement` in interface `InferencerConnection`
      Parameters:
        `subj` - The subject of the statement that should be removed.
        `pred` - The predicate of the statement that should be removed.
        `obj` - The object of the statement that should be removed.
        `contexts` - The context(s) from which to remove the statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `SailException` - If the statement could not be removed.

    - #### clearInternal

          protected void clearInternal(Resource... contexts)
                                throws SailException

      Specified by:
        `clearInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### clearInferred

          public void clearInferred(Resource... contexts)
                             throws SailException

      Description copied from interface: `InferencerConnection`
      Removes all inferred statements from the specified/all contexts. If no contexts are specified the method operates on the entire repository.
      Specified by:
        `clearInferred` in interface `InferencerConnection`
      Parameters:
        `contexts` - The context(s) from which to remove the statements. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
      Throws:
        `SailException` - If the statements could not be removed.

    - #### flushUpdates

          public void flushUpdates()
                            throws SailException

      Description copied from interface: `InferencerConnection`
      Flushes any pending updates to be processed and the resulting changes to be reported to registered `SailConnectionListener`s.
      Specified by:
        `flushUpdates` in interface `InferencerConnection`
      Throws:
        `SailException` - If the updates could not be processed.

    - #### setNamespaceInternal

          protected void setNamespaceInternal(String prefix,
                                              String name)
                                       throws SailException

      Specified by:
        `setNamespaceInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### removeNamespaceInternal

          protected void removeNamespaceInternal(String prefix)
                                          throws SailException

      Specified by:
        `removeNamespaceInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

    - #### clearNamespacesInternal

          protected void clearNamespacesInternal()
                                          throws SailException

      Specified by:
        `clearNamespacesInternal` in class `AbstractSailConnection`
      Throws:
        `SailException`

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