public class SailConnectionWrapper extends Object implements SailConnection, FederatedServiceResolverClient
| Constructor and Description |
|---|
SailConnectionWrapper(SailConnection wrappedCon)
Creates a new TransactionWrapper object that wraps the supplied
connection.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addStatement(Resource subj,
URI pred,
Value obj,
Resource... contexts)
Adds a statement to the store.
|
void |
addStatement(UpdateContext modify,
Resource subj,
URI pred,
Value obj,
Resource... contexts)
Adds a statement to the store.
|
void |
begin()
Begins a transaction requiring
SailConnection.commit() or SailConnection.rollback() to
be called to close the transaction. |
void |
begin(IsolationLevel level)
Begins a transaction with the specified
IsolationLevel level,
requiring SailConnection.commit() or SailConnection.rollback() to be called to close
the transaction. |
void |
clear(Resource... contexts)
Removes all statements from the specified/all contexts.
|
void |
clearNamespaces()
Removes all namespace declarations from the repository.
|
void |
close()
Closes the connection.
|
void |
commit()
Commits any updates that have been performed since the last time
SailConnection.commit() or SailConnection.rollback() was called. |
void |
endUpdate(UpdateContext modify)
Indicates that the given
op will not be used in any call
again. |
CloseableIteration<? extends BindingSet,QueryEvaluationException> |
evaluate(TupleExpr tupleExpr,
Dataset dataset,
BindingSet bindings,
boolean includeInferred)
Evaluates the supplied TupleExpr on the data contained in this Sail
object, using the (optional) dataset and supplied bindings as input
parameters.
|
void |
flush()
Flushes any pending updates and notify changes to listeners as
appropriate.
|
CloseableIteration<? extends Resource,SailException> |
getContextIDs()
Returns the set of all unique context identifiers that are used to store
statements.
|
String |
getNamespace(String prefix)
Gets the namespace that is associated with the specified prefix, if any.
|
CloseableIteration<? extends Namespace,SailException> |
getNamespaces()
Gets the namespaces relevant to the data contained in this Sail object.
|
CloseableIteration<? extends Statement,SailException> |
getStatements(Resource subj,
URI pred,
Value obj,
boolean includeInferred,
Resource... contexts)
Gets all statements from the specified contexts that have a specific
subject, predicate and/or object.
|
SailConnection |
getWrappedConnection()
Gets the connection that is wrapped by this object.
|
boolean |
isActive()
Indicates if a transaction is currently active on the connection.
|
boolean |
isOpen()
Checks whether this SailConnection is open.
|
void |
prepare()
Checks for an error state in the active transaction that would force the
transaction to be rolled back.
|
void |
removeNamespace(String prefix)
Removes a namespace declaration by removing the association between a
prefix and a namespace name.
|
void |
removeStatement(UpdateContext modify,
Resource subj,
URI pred,
Value obj,
Resource... contexts)
Removes all statements matching the specified subject, predicate and
object from the repository.
|
void |
removeStatements(Resource subj,
URI pred,
Value obj,
Resource... contexts)
Removes all statements matching the specified subject, predicate and
object from the repository.
|
void |
rollback()
Rolls back the transaction, discarding any uncommitted changes that have
been made in this SailConnection.
|
void |
setFederatedServiceResolver(FederatedServiceResolver resolver)
Sets the
FederatedServiceResolver to use for this client. |
void |
setNamespace(String prefix,
String name)
Sets the prefix for a namespace.
|
long |
size(Resource... contexts)
Returns the number of (explicit) statements in the store, or in specific
contexts.
|
long |
size(Resource context) |
void |
startUpdate(UpdateContext modify)
Signals the start of an update operation.
|
public SailConnectionWrapper(SailConnection wrappedCon)
public SailConnection getWrappedConnection()
public void setFederatedServiceResolver(FederatedServiceResolver resolver)
FederatedServiceResolverClientFederatedServiceResolver to use for this client.setFederatedServiceResolver in interface FederatedServiceResolverClientresolver - The resolver to use.public boolean isOpen()
throws SailException
SailConnectionisOpen in interface SailConnectionSailExceptionSailConnection.close()public void close()
throws SailException
SailConnectionclose in interface SailConnectionSailExceptionpublic CloseableIteration<? extends BindingSet,QueryEvaluationException> evaluate(TupleExpr tupleExpr, Dataset dataset, BindingSet bindings, boolean includeInferred) throws SailException
SailConnectionevaluate in interface SailConnectiontupleExpr - The tuple expression to evaluate.dataset - The dataset to use for evaluating the query, null to use
the Sail's default dataset.bindings - A set of input parameters for the query evaluation. The keys
reference variable names that should be bound to the value they map
to.includeInferred - Indicates whether inferred triples are to be considered in the
query result. If false, no inferred statements are returned; if
true, inferred statements are returned if availableSailException - If the Sail object encountered an error or unexpected situation
internally.public CloseableIteration<? extends Resource,SailException> getContextIDs() throws SailException
SailConnectiongetContextIDs in interface SailConnectionSailExceptionpublic CloseableIteration<? extends Statement,SailException> getStatements(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts) throws SailException
SailConnectiongetStatements in interface SailConnectionsubj - A Resource specifying the subject, or null for a wildcard.pred - A URI specifying the predicate, or null for a wildcard.obj - A Value specifying the object, or null for a wildcard.includeInferred - if false, no inferred statements are returned; if true, inferred
statements are returned if availablecontexts - The context(s) to get the data from. 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.SailException - If the Sail object encountered an error or unexpected situation
internally.public long size(Resource... contexts) throws SailException
SailConnectionsize in interface SailConnectioncontexts - The context(s) to determine the size of. 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.SailExceptionpublic long size(Resource context) throws SailException
SailExceptionpublic void commit()
throws SailException
SailConnectionSailConnection.commit() or SailConnection.rollback() was called.commit in interface SailConnectionUnknownSailTransactionStateException - If the transaction state can not be determined (this can happen
for instance when communication between client and server fails or
times-out). It does not indicate a problem with the integrity of
the store.SailException - If the SailConnection could not be committed.public void rollback()
throws SailException
SailConnectionrollback in interface SailConnectionUnknownSailTransactionStateException - If the transaction state can not be determined (this can happen
for instance when communication between client and server fails or
times-out). It does not indicate a problem with the integrity of
the store.SailException - If the SailConnection could not be rolled back.public void addStatement(Resource subj, URI pred, Value obj, Resource... contexts) throws SailException
SailConnectionaddStatement in interface SailConnectionsubj - 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.SailException - If the statement could not be added, for example because no
transaction is active.public void removeStatements(Resource subj, URI pred, Value obj, Resource... contexts) throws SailException
SailConnectionremoveStatements in interface SailConnectionsubj - The subject of the statement that should be removed, or
null to indicate a wildcard.pred - The predicate of the statement that should be removed, or
null to indicate a wildcard.obj - The object of the statement that should be removed , or
null to indicate a wildcard. *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.SailException - If the statement could not be removed, for example because no
transaction is active.public void startUpdate(UpdateContext modify) throws SailException
SailConnectionop maybe
passed to subsequent
SailConnection.addStatement(UpdateContext, Resource, URI, Value, Resource...) or
SailConnection.removeStatement(UpdateContext, Resource, URI, Value, Resource...)
calls before SailConnection.endUpdate(UpdateContext) is called.startUpdate in interface SailConnectionSailExceptionpublic void addStatement(UpdateContext modify, Resource subj, URI pred, Value obj, Resource... contexts) throws SailException
SailConnectionUpdateExpr operation.addStatement in interface SailConnectionmodify - 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.SailException - If the statement could not be added, for example because no
transaction is active.public void removeStatement(UpdateContext modify, Resource subj, URI pred, Value obj, Resource... contexts) throws SailException
SailConnectionUpdateExpr
operation.removeStatement in interface SailConnectionmodify - 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.SailException - If the statement could not be removed, for example because no
transaction is active.public void endUpdate(UpdateContext modify) throws SailException
SailConnectionop will not be used in any call
again. Implementations should use this to flush of any temporary operation
states that may have occurred.endUpdate in interface SailConnectionSailExceptionpublic void clear(Resource... contexts) throws SailException
SailConnectionclear in interface SailConnectioncontexts - 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
specified the method operates on the entire repository. A
null value can be used to match context-less statements.SailException - If the statements could not be removed.public CloseableIteration<? extends Namespace,SailException> getNamespaces() throws SailException
SailConnectiongetNamespaces in interface SailConnectionSailException - If the Sail object encountered an error or unexpected situation
internally.public String getNamespace(String prefix) throws SailException
SailConnectiongetNamespace in interface SailConnectionprefix - A namespace prefix, or an empty string in case of the default
namespace.SailException - If the Sail object encountered an error or unexpected situation
internally.public void setNamespace(String prefix, String name) throws SailException
SailConnectionsetNamespace in interface SailConnectionprefix - The new prefix, or an empty string in case of the default
namespace.name - The namespace name that the prefix maps to.SailException - If the Sail object encountered an error or unexpected situation
internally.public void removeNamespace(String prefix) throws SailException
SailConnectionremoveNamespace in interface SailConnectionprefix - The namespace prefix, or an empty string in case of the default
namespace.SailException - If the Sail object encountered an error or unexpected situation
internally.public void clearNamespaces()
throws SailException
SailConnectionclearNamespaces in interface SailConnectionSailException - If the Sail object encountered an error or unexpected situation
internally.public void begin()
throws SailException
SailConnectionSailConnection.commit() or SailConnection.rollback() to
be called to close the transaction. The transaction will use the default
IsolationLevel level for the SAIL, as returned by
Sail.getDefaultIsolationLevel().begin in interface SailConnectionSailException - If the connection could not start a transaction or if a
transaction is already active on this connection.public void begin(IsolationLevel level) throws SailException
SailConnectionIsolationLevel level,
requiring SailConnection.commit() or SailConnection.rollback() to be called to close
the transaction.begin in interface SailConnectionlevel - the transaction isolation level on which this transaction operates.UnknownSailTransactionStateException - If the IsolationLevel is not supported by this implementationSailException - If the connection could not start a transaction, if the supplied
transaction isolation level is not supported, or if a transaction
is already active on this connection.public void flush()
throws SailException
SailConnectionSailConnection.prepare(). This method may be called multiple times within the
same transaction.flush in interface SailConnectionSailException - If the updates could not be processed, for example because no
transaction is active.public void prepare()
throws SailException
SailConnectionSailConnection.commit() or SailConnection.rollback(). A call to this method must be
followed by (in the same thread) with a call to SailConnection.prepare() ,
SailConnection.commit(), SailConnection.rollback(), or SailConnection.close(). This method
may be called multiple times within the same transaction by the same
thread. If this method returns normally, the caller can reasonably expect
that a subsequent call to SailConnection.commit() will also return normally. If
this method returns with an exception the caller should treat the
exception as if it came from a call to SailConnection.commit().prepare in interface SailConnectionUnknownSailTransactionStateException - If the transaction state can not be determined (this can happen
for instance when communication between client and server fails or
times-out). It does not indicate a problem with the integrity of
the store.SailException - If there is an active transaction and it cannot be committed.public boolean isActive()
throws UnknownSailTransactionStateException
SailConnectionSailConnection.begin() has been called, and becomes
inactive after SailConnection.commit() or SailConnection.rollback() has been called.isActive in interface SailConnectiontrue iff a transaction is active, false
iff no transaction is active.UnknownSailTransactionStateException - if the transaction state can not be determined (this can happen
for instance when communication between client and server fails or
times out).Copyright © 2001–2015 Aduna. All rights reserved.