org.openrdf.repository.base
Class RepositoryConnectionWrapper

java.lang.Object
  extended by org.openrdf.repository.base.RepositoryConnectionBase
      extended by org.openrdf.repository.base.RepositoryConnectionWrapper
All Implemented Interfaces:
DelegatingRepositoryConnection, RepositoryConnection
Direct Known Subclasses:
ContextAwareConnection, InterceptingRepositoryConnectionWrapper, NotifyingRepositoryConnectionWrapper, SignedConnection

public class RepositoryConnectionWrapper
extends RepositoryConnectionBase
implements DelegatingRepositoryConnection

Delegates all calls to the delegate RepositoryConnection. Conditionally processes add/remove/read to common base method to make them easier to override.

Author:
James Leigh, Arjohn Kampman
See Also:
isDelegatingAdd(), isDelegatingImport(), isDelegatingRemove(), isDelegatingRead()

Field Summary
 
Fields inherited from class org.openrdf.repository.base.RepositoryConnectionBase
logger
 
Constructor Summary
RepositoryConnectionWrapper(Repository repository)
           
RepositoryConnectionWrapper(Repository repository, RepositoryConnection delegate)
           
 
Method Summary
 void add(Cursor<? extends Statement> statementIter, Resource... contexts)
          Adds the supplied statements to this repository, optionally to one or more named contexts.
 void add(File file, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Adds RDF data from the specified file to a specific contexts in the repository.
 void add(InputStream in, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.
 void add(Iterable<? extends Statement> statements, Resource... contexts)
          Adds the supplied statements to this repository, optionally to one or more named contexts.
 void add(Reader reader, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Adds RDF data from a Reader to the repository, optionally to one or more named contexts.
 void add(Resource subject, URI predicate, Value object, Resource... contexts)
          Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.
 void add(Statement st, Resource... contexts)
          Adds the supplied statement to this repository, optionally to one or more named contexts.
 void add(URL url, String baseURI, RDFFormat dataFormat, Resource... contexts)
          Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.
 void begin()
          Begins a transaction requiring RepositoryConnection.commit() or RepositoryConnection.rollback() to be called to close the transaction.
 void clear(Resource... contexts)
          Removes all statements from a specific contexts in the repository.
 void clearNamespaces()
          Removes all namespace declarations from the repository.
 void close()
          Closes the connection, freeing resources.
 void commit()
          Commits the active transaction.
<H extends RDFHandler>
H
exportMatch(Resource subj, URI pred, Value obj, boolean includeInferred, H handler, Resource... contexts)
          Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.
 ContextResult getContextIDs()
          Gets all resources that are used as content identifiers.
 RepositoryConnection getDelegate()
           
 String getNamespace(String prefix)
          Gets the namespace that is associated with the specified prefix, if any.
 NamespaceResult getNamespaces()
          Gets all declared namespaces as a RepositoryResult of Namespace objects.
 Isolation getTransactionIsolation()
          Retrieves this connection's current transaction isolation level.
 ValueFactory getValueFactory()
          Gets a ValueFactory for this RepositoryConnection.
 boolean hasMatch(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
          Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.
 boolean hasStatement(Statement st, boolean includeInferred, Resource... contexts)
          Checks whether the repository contains the specified statement, optionally in the specified contexts.
 boolean isAutoCommit()
          Indicates if the connection is in auto-commit mode.
protected  boolean isDelegatingAdd()
          If true then each add method will call add(Resource, URI, Value, Resource[]).
protected  boolean isDelegatingImport()
          If true then each import method (parsed RDF) will call add(Resource, URI, Value, Resource[]).
protected  boolean isDelegatingRead()
          If true then the has/export/isEmpty methods will call match(Resource, URI, Value, boolean, Resource[]).
protected  boolean isDelegatingRemove()
          If true then each remove method will call removeMatch(Resource, URI, Value, Resource[]).
 boolean isEmpty()
          Returns true if this repository does not contain any (explicit) statements.
 boolean isOpen()
          Checks whether this connection is open.
 boolean isReadOnly()
          Indicates whether this connection is in read-only mode.
 ModelResult match(Resource subj, URI pred, Value obj, boolean includeInferred, Resource... contexts)
          Gets all statements with a specific subject, predicate and/or object from the repository.
 BooleanQuery prepareBooleanQuery(QueryLanguage ql, String query, String baseURI)
          Prepares true/false queries.
 GraphQuery prepareGraphQuery(QueryLanguage ql, String query, String baseURI)
          Prepares queries that produce RDF graphs.
 Query prepareQuery(QueryLanguage ql, String query, String baseURI)
          Prepares a query for evaluation on this repository (optional operation).
 TupleQuery prepareTupleQuery(QueryLanguage ql, String query, String baseURI)
          Prepares a query that produces sets of value tuples.
 void remove(Cursor<? extends Statement> statementIter, Resource... contexts)
          Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.
 void remove(Iterable<? extends Statement> statements, Resource... contexts)
          Removes the supplied statements from the specified contexts in this repository.
 void remove(Statement st, Resource... contexts)
          Removes the supplied statement from the specified contexts in the repository.
 void removeMatch(Resource subject, URI predicate, Value object, Resource... contexts)
          Removes the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.
 void removeNamespace(String prefix)
          Removes a namespace declaration by removing the association between a prefix and a namespace name.
 void rollback()
          Rolls back all updates that have been performed as part of this connection so far.
 void setDelegate(RepositoryConnection delegate)
           
 void setNamespace(String prefix, String name)
          Sets the prefix for a namespace.
 void setReadOnly(boolean readOnly)
          Puts this connection in read-only mode as a hint to the driver to enable repository optimizations.
 void setTransactionIsolation(Isolation level)
          Attempts to change the transaction isolation level for this connection to the specified value.
 long sizeMatch(Resource subject, URI predicate, Value object, boolean includeInferred, Resource... contexts)
          Returns the number of statements that match in the specified pattern in this repository.
 String toString()
           
 
Methods inherited from class org.openrdf.repository.base.RepositoryConnectionBase
addInputStreamOrReader, export, exportStatements, getRepository, getStatements, hasStatement, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, remove, size, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openrdf.repository.RepositoryConnection
export, exportStatements, getRepository, getStatements, hasStatement, prepareBooleanQuery, prepareGraphQuery, prepareQuery, prepareTupleQuery, remove, size, size
 

Constructor Detail

RepositoryConnectionWrapper

public RepositoryConnectionWrapper(Repository repository)

RepositoryConnectionWrapper

public RepositoryConnectionWrapper(Repository repository,
                                   RepositoryConnection delegate)
Method Detail

getDelegate

public RepositoryConnection getDelegate()
                                 throws StoreException
Specified by:
getDelegate in interface DelegatingRepositoryConnection
Throws:
StoreException

setDelegate

public void setDelegate(RepositoryConnection delegate)
Specified by:
setDelegate in interface DelegatingRepositoryConnection

isDelegatingAdd

protected boolean isDelegatingAdd()
                           throws StoreException
If true then each add method will call add(Resource, URI, Value, Resource[]).

Returns:
false
Throws:
StoreException

isDelegatingImport

protected boolean isDelegatingImport()
                              throws StoreException
If true then each import method (parsed RDF) will call add(Resource, URI, Value, Resource[]).

Returns:
false
Throws:
StoreException

isDelegatingRead

protected boolean isDelegatingRead()
                            throws StoreException
If true then the has/export/isEmpty methods will call match(Resource, URI, Value, boolean, Resource[]).

Returns:
false
Throws:
StoreException

isDelegatingRemove

protected boolean isDelegatingRemove()
                              throws StoreException
If true then each remove method will call removeMatch(Resource, URI, Value, Resource[]).

Returns:
false
Throws:
StoreException

getValueFactory

public ValueFactory getValueFactory()
Description copied from interface: RepositoryConnection
Gets a ValueFactory for this RepositoryConnection.

Specified by:
getValueFactory in interface RepositoryConnection
Returns:
A repository-specific ValueFactory.

getTransactionIsolation

public Isolation getTransactionIsolation()
                                  throws StoreException
Description copied from interface: RepositoryConnection
Retrieves this connection's current transaction isolation level.

Specified by:
getTransactionIsolation in interface RepositoryConnection
Returns:
The current transaction isolation level.
Throws:
StoreException - If an access error occurs or this method is called on a closed connection
See Also:
RepositoryConnection.setTransactionIsolation(org.openrdf.store.Isolation)

setTransactionIsolation

public void setTransactionIsolation(Isolation level)
                             throws StoreException
Description copied from interface: RepositoryConnection
Attempts to change the transaction isolation level for this connection to the specified value.

Note: If this method is called during a transaction, the result is implementation-defined.

Specified by:
setTransactionIsolation in interface RepositoryConnection
Parameters:
level - Any Isolation except for NONE, since that indicates that transactions are not supported.
Throws:
StoreException - If an access error occurs, this method is called on a closed connection
See Also:
RepositoryConnection.getTransactionIsolation()

isReadOnly

public boolean isReadOnly()
                   throws StoreException
Description copied from interface: RepositoryConnection
Indicates whether this connection is in read-only mode.

Specified by:
isReadOnly in interface RepositoryConnection
Returns:
true if this Connection object is read-only; false otherwise.
Throws:
StoreException - If a repository access error occurs.

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws StoreException
Description copied from interface: RepositoryConnection
Puts this connection in read-only mode as a hint to the driver to enable repository optimizations.

Note: This method cannot be called during a transaction.

Specified by:
setReadOnly in interface RepositoryConnection
Parameters:
readOnly - true enables read-only mode; false disables it
Throws:
StoreException - If a repository access error occurs or this method is called during a transaction.

add

public void add(File file,
                String baseURI,
                RDFFormat dataFormat,
                Resource... contexts)
         throws IOException,
                RDFParseException,
                StoreException
Description copied from interface: RepositoryConnection
Adds RDF data from the specified file to a specific contexts in the repository.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
file - A file containing RDF data.
baseURI - The base URI to resolve any relative URIs that are in the data against. This defaults to the value of file.toURI() if the value is set to null.
dataFormat - The serialization format of the data.
contexts - The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the data is added to any context specified in the actual data file, or if the data contains no context, it is added without context. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
Throws:
IOException - If an I/O error occurred while reading from the file.
RDFParseException - If an error was found while parsing the RDF data.
StoreException - If the data could not be added to the repository, for example because the repository is not writable.

add

public void add(InputStream in,
                String baseURI,
                RDFFormat dataFormat,
                Resource... contexts)
         throws IOException,
                RDFParseException,
                StoreException
Description copied from interface: RepositoryConnection
Adds RDF data from an InputStream to the repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
in - An InputStream from which RDF data can be read.
baseURI - The base URI to resolve any relative URIs that are in the data against.
dataFormat - The serialization format of the data.
contexts - The contexts to add the data to. If one or more contexts are supplied the method ignores contextual information in the actual data. If no contexts are supplied the contextual information in the input stream is used, if no context information is available the data is added without any context.
Throws:
IOException - If an I/O error occurred while reading from the input stream.
RDFParseException - If an error was found while parsing the RDF data.
StoreException - If the data could not be added to the repository, for example because the repository is not writable.

add

public void add(Iterable<? extends Statement> statements,
                Resource... contexts)
         throws StoreException
Description copied from interface: RepositoryConnection
Adds the supplied statements to this repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
statements - The statements that should be added.
contexts - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself. ignored.
Throws:
StoreException - If the statements could not be added to the repository, for example because the repository is not writable.

add

public void add(Cursor<? extends Statement> statementIter,
                Resource... contexts)
         throws StoreException
Description copied from interface: RepositoryConnection
Adds the supplied statements to this repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
statementIter - The statements to add. It will be closed before this method returns.
contexts - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, each statement is added to any context specified in the statement, or if the statement contains no context, it is added without context. If one or more contexts are specified each statement is added to these contexts, ignoring any context information in the statement itself. ignored.
Throws:
StoreException - If the statements could not be added to the repository, for example because the repository is not writable.

add

public void add(Reader reader,
                String baseURI,
                RDFFormat dataFormat,
                Resource... contexts)
         throws IOException,
                RDFParseException,
                StoreException
Description copied from interface: RepositoryConnection
Adds RDF data from a Reader to the repository, optionally to one or more named contexts. Note: using a Reader to upload byte-based data means that you have to be careful not to destroy the data's character encoding by enforcing a default character encoding upon the bytes. If possible, adding such data using an InputStream is to be preferred.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
reader - A Reader from which RDF data can be read.
baseURI - The base URI to resolve any relative URIs that are in the data against.
dataFormat - The serialization format of the data.
contexts - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
Throws:
IOException - If an I/O error occurred while reading from the reader.
RDFParseException - If an error was found while parsing the RDF data.
StoreException - If the data could not be added to the repository, for example because the repository is not writable.

add

public void add(Statement st,
                Resource... contexts)
         throws StoreException
Description copied from interface: RepositoryConnection
Adds the supplied statement to this repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
st - The statement to add.
contexts - The contexts to add the statements to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the statement is added to any context specified in each statement, or if the statement contains no context, it is added without context. If one or more contexts are specified the statement is added to these contexts, ignoring any context information in the statement itself.
Throws:
StoreException - If the statement could not be added to the repository, for example because the repository is not writable.

add

public void add(URL url,
                String baseURI,
                RDFFormat dataFormat,
                Resource... contexts)
         throws IOException,
                RDFParseException,
                StoreException
Description copied from interface: RepositoryConnection
Adds the RDF data that can be found at the specified URL to the repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Overrides:
add in class RepositoryConnectionBase
Parameters:
url - The URL of the RDF data.
baseURI - The base URI to resolve any relative URIs that are in the data against. This defaults to the value of url.toExternalForm() if the value is set to null.
dataFormat - The serialization format of the data.
contexts - The contexts to add the data to. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
Throws:
IOException - If an I/O error occurred while reading from the URL.
RDFParseException - If an error was found while parsing the RDF data.
StoreException - If the data could not be added to the repository, for example because the repository is not writable.

clear

public void clear(Resource... contexts)
           throws StoreException
Description copied from interface: RepositoryConnection
Removes all statements from a specific contexts in the repository.

Specified by:
clear in interface RepositoryConnection
Overrides:
clear in class RepositoryConnectionBase
Parameters:
contexts - The context(s) to remove the data from. 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:
StoreException - If the statements could not be removed from the repository, for example because the repository is not writable.

close

public void close()
           throws StoreException
Description copied from interface: RepositoryConnection
Closes the connection, freeing resources. If the connection is not in auto-commit mode, all uncommitted operations will be lost.

Specified by:
close in interface RepositoryConnection
Throws:
StoreException - If the connection could not be closed.

isAutoCommit

public boolean isAutoCommit()
                     throws StoreException
Description copied from interface: RepositoryConnection
Indicates if the connection is in auto-commit mode. The connection is not in auto-commit when RepositoryConnection.begin() has been called but RepositoryConnection.commit() or RepositoryConnection.rollback() still has to be called to finish the transaction.

Specified by:
isAutoCommit in interface RepositoryConnection
Throws:
StoreException - If a repository access error occurs.

begin

public void begin()
           throws StoreException
Description copied from interface: RepositoryConnection
Begins a transaction requiring RepositoryConnection.commit() or RepositoryConnection.rollback() to be called to close the transaction.

Specified by:
begin in interface RepositoryConnection
Throws:
StoreException - If the connection could not start a transaction, or if it already has an active transaction.
See Also:
RepositoryConnection.isAutoCommit()

commit

public void commit()
            throws StoreException
Description copied from interface: RepositoryConnection
Commits the active transaction.

Specified by:
commit in interface RepositoryConnection
Throws:
StoreException - If the connection could not be committed, or if the connection does not have an active connection.
See Also:
RepositoryConnection.isAutoCommit(), RepositoryConnection.begin()

rollback

public void rollback()
              throws StoreException
Description copied from interface: RepositoryConnection
Rolls back all updates that have been performed as part of this connection so far.

Specified by:
rollback in interface RepositoryConnection
Throws:
StoreException - If the connection could not be rolled back, or if the connection does not have an active connection.
See Also:
RepositoryConnection.isAutoCommit(), RepositoryConnection.begin()

exportMatch

public <H extends RDFHandler> H exportMatch(Resource subj,
                                            URI pred,
                                            Value obj,
                                            boolean includeInferred,
                                            H handler,
                                            Resource... contexts)
                                 throws StoreException,
                                        RDFHandlerException
Description copied from interface: RepositoryConnection
Exports all statements with a specific subject, predicate and/or object from the repository, optionally from the specified contexts.

Specified by:
exportMatch in interface RepositoryConnection
Parameters:
subj - The subject, or null if the subject doesn't matter.
pred - The predicate, or null if the predicate doesn't matter.
obj - The object, or null if the object doesn't matter.
includeInferred - if false, no inferred statements are returned; if true, inferred statements are returned if available
handler - The handler that will handle the RDF data.
contexts - The context(s) to get the data from. 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:
RDFHandlerException - If the handler encounters an unrecoverable error.
StoreException

getContextIDs

public ContextResult getContextIDs()
                            throws StoreException
Description copied from interface: RepositoryConnection
Gets all resources that are used as content identifiers. Care should be taken that the returned ContextResult is closed to free any resources that it keeps hold of.

Specified by:
getContextIDs in interface RepositoryConnection
Returns:
a RepositoryResult object containing Resources that are used as context identifiers.
Throws:
StoreException

getNamespace

public String getNamespace(String prefix)
                    throws StoreException
Description copied from interface: RepositoryConnection
Gets the namespace that is associated with the specified prefix, if any.

Specified by:
getNamespace in interface RepositoryConnection
Parameters:
prefix - A namespace prefix.
Returns:
The namespace name that is associated with the specified prefix, or null if there is no such namespace.
Throws:
StoreException - If the namespace could not be read from the repository.

getNamespaces

public NamespaceResult getNamespaces()
                              throws StoreException
Description copied from interface: RepositoryConnection
Gets all declared namespaces as a RepositoryResult of Namespace objects. Each Namespace object consists of a prefix and a namespace name.

Specified by:
getNamespaces in interface RepositoryConnection
Returns:
A RepositoryResult containing Namespace objects. Care should be taken to close the RepositoryResult after use.
Throws:
StoreException - If the namespaces could not be read from the repository.

match

public ModelResult match(Resource subj,
                         URI pred,
                         Value obj,
                         boolean includeInferred,
                         Resource... contexts)
                  throws StoreException
Description copied from interface: RepositoryConnection
Gets all statements with a specific subject, predicate and/or object from the repository. The result is optionally restricted to the specified set of named contexts.

Specified by:
match in interface RepositoryConnection
Parameters:
subj - 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 available. The default is true.
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
Returns:
The statements matching the specified pattern. The result object is a ModelResult object, a lazy Iterator-like object containing Statements and optionally throwing a StoreException when an error when a problem occurs during retrieval.
Throws:
StoreException

hasMatch

public boolean hasMatch(Resource subj,
                        URI pred,
                        Value obj,
                        boolean includeInferred,
                        Resource... contexts)
                 throws StoreException
Description copied from interface: RepositoryConnection
Checks whether the repository contains statements with a specific subject, predicate and/or object, optionally in the specified contexts.

Specified by:
hasMatch in interface RepositoryConnection
Overrides:
hasMatch in class RepositoryConnectionBase
Parameters:
subj - 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 considered; if true, inferred statements are considered if available
contexts - The context(s) the need to be searched. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
Returns:
true If a matching statement is in the repository in the specified context, false otherwise.
Throws:
StoreException

hasStatement

public boolean hasStatement(Statement st,
                            boolean includeInferred,
                            Resource... contexts)
                     throws StoreException
Description copied from interface: RepositoryConnection
Checks whether the repository contains the specified statement, optionally in the specified contexts.

Specified by:
hasStatement in interface RepositoryConnection
Overrides:
hasStatement in class RepositoryConnectionBase
Parameters:
st - The statement to look for. Context information in the statement is ignored.
includeInferred - if false, no inferred statements are considered; if true, inferred statements are considered if available
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the entire repository.
Returns:
true If the repository contains the specified statement, false otherwise.
Throws:
StoreException

isEmpty

public boolean isEmpty()
                throws StoreException
Description copied from interface: RepositoryConnection
Returns true if this repository does not contain any (explicit) statements.

Specified by:
isEmpty in interface RepositoryConnection
Overrides:
isEmpty in class RepositoryConnectionBase
Returns:
true if this repository is empty, false otherwise.
Throws:
StoreException - If the repository could not be checked to be empty.

isOpen

public boolean isOpen()
               throws StoreException
Description copied from interface: RepositoryConnection
Checks whether this connection is open. A connection is open from the moment it is created until it is closed.

Specified by:
isOpen in interface RepositoryConnection
Throws:
StoreException
See Also:
RepositoryConnection.close()

prepareGraphQuery

public GraphQuery prepareGraphQuery(QueryLanguage ql,
                                    String query,
                                    String baseURI)
                             throws MalformedQueryException,
                                    StoreException
Description copied from interface: RepositoryConnection
Prepares queries that produce RDF graphs.

Specified by:
prepareGraphQuery in interface RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
MalformedQueryException - If the supplied query is malformed.
StoreException

prepareQuery

public Query prepareQuery(QueryLanguage ql,
                          String query,
                          String baseURI)
                   throws MalformedQueryException,
                          StoreException
Description copied from interface: RepositoryConnection
Prepares a query for evaluation on this repository (optional operation).

Specified by:
prepareQuery in interface RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Returns:
A query ready to be evaluated on this repository.
Throws:
MalformedQueryException - If the supplied query is malformed.
StoreException

prepareTupleQuery

public TupleQuery prepareTupleQuery(QueryLanguage ql,
                                    String query,
                                    String baseURI)
                             throws MalformedQueryException,
                                    StoreException
Description copied from interface: RepositoryConnection
Prepares a query that produces sets of value tuples.

Specified by:
prepareTupleQuery in interface RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
MalformedQueryException - If the supplied query is malformed.
StoreException

prepareBooleanQuery

public BooleanQuery prepareBooleanQuery(QueryLanguage ql,
                                        String query,
                                        String baseURI)
                                 throws MalformedQueryException,
                                        StoreException
Description copied from interface: RepositoryConnection
Prepares true/false queries.

Specified by:
prepareBooleanQuery in interface RepositoryConnection
Parameters:
ql - The query language in which the query is formulated.
query - The query string.
baseURI - The base URI to resolve any relative URIs that are in the query against, can be null if the query does not contain any relative URIs.
Throws:
MalformedQueryException - If the supplied query is malformed.
StoreException

remove

public void remove(Iterable<? extends Statement> statements,
                   Resource... contexts)
            throws StoreException
Description copied from interface: RepositoryConnection
Removes the supplied statements from the specified contexts in this repository.

Specified by:
remove in interface RepositoryConnection
Overrides:
remove in class RepositoryConnectionBase
Parameters:
statements - The statements that should be added.
contexts - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
Throws:
StoreException - If the statements could not be added to the repository, for example because the repository is not writable.

remove

public void remove(Cursor<? extends Statement> statementIter,
                   Resource... contexts)
            throws StoreException
Description copied from interface: RepositoryConnection
Removes the supplied statements from a specific context in this repository, ignoring any context information carried by the statements themselves.

Specified by:
remove in interface RepositoryConnection
Overrides:
remove in class RepositoryConnectionBase
Parameters:
statementIter - The statements to remove. It will be closed before this method returns.
contexts - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
Throws:
StoreException - If the statements could not be removed from the repository, for example because the repository is not writable.

remove

public void remove(Statement st,
                   Resource... contexts)
            throws StoreException
Description copied from interface: RepositoryConnection
Removes the supplied statement from the specified contexts in the repository.

Specified by:
remove in interface RepositoryConnection
Overrides:
remove in class RepositoryConnectionBase
Parameters:
st - The statement to remove.
contexts - The context(s) to remove the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method operates on the contexts associated with the statement itself, and if no context is associated with the statement, on the entire repository.
Throws:
StoreException - If the statement could not be removed from the repository, for example because the repository is not writable.

removeNamespace

public void removeNamespace(String prefix)
                     throws StoreException
Description copied from interface: RepositoryConnection
Removes a namespace declaration by removing the association between a prefix and a namespace name.

Specified by:
removeNamespace in interface RepositoryConnection
Parameters:
prefix - The namespace prefix of which the assocation with a namespace name is to be removed.
Throws:
StoreException - If the namespace prefix could not be removed.

clearNamespaces

public void clearNamespaces()
                     throws StoreException
Description copied from interface: RepositoryConnection
Removes all namespace declarations from the repository.

Specified by:
clearNamespaces in interface RepositoryConnection
Throws:
StoreException - If the namespace declarations could not be removed.

setNamespace

public void setNamespace(String prefix,
                         String name)
                  throws StoreException
Description copied from interface: RepositoryConnection
Sets the prefix for a namespace.

Specified by:
setNamespace in interface RepositoryConnection
Parameters:
prefix - The new prefix.
name - The namespace name that the prefix maps to.
Throws:
StoreException - If the namespace could not be set in the repository, for example because the repository is not writable.

sizeMatch

public long sizeMatch(Resource subject,
                      URI predicate,
                      Value object,
                      boolean includeInferred,
                      Resource... contexts)
               throws StoreException
Description copied from interface: RepositoryConnection
Returns the number of statements that match in the specified pattern in this repository.

Specified by:
sizeMatch in interface RepositoryConnection
Parameters:
subject - The subject, or null if the subject doesn't matter.
predicate - The predicate, or null if the predicate doesn't matter.
object - The object, or null if the object doesn't matter.
includeInferred - Indicates whether inferred statements should be counted.
contexts - The context(s) to get the data from. Note that this parameter is a vararg and as such is optional. If no contexts are supplied the method matches the pattern on the entire repository.
Returns:
The number of explicit statements from the specified pattern in this repository.
Throws:
StoreException

toString

public String toString()
Overrides:
toString in class Object

add

public void add(Resource subject,
                URI predicate,
                Value object,
                Resource... contexts)
         throws StoreException
Description copied from interface: RepositoryConnection
Adds a statement with the specified subject, predicate and object to this repository, optionally to one or more named contexts.

Specified by:
add in interface RepositoryConnection
Parameters:
subject - The statement's subject.
predicate - The statement's predicate.
object - The statement's object.
contexts - The contexts to add the data to. Note that this parameter is a vararg and as such is optional. If no contexts are specified, the data is added to any context specified in the actual data file, or if the data contains no context, it is added without context. If one or more contexts are specified the data is added to these contexts, ignoring any context information in the data itself.
Throws:
StoreException - If the data could not be added to the repository, for example because the repository is not writable.

removeMatch

public void removeMatch(Resource subject,
                        URI predicate,
                        Value object,
                        Resource... contexts)
                 throws StoreException
Description copied from interface: RepositoryConnection
Removes the statement(s) with the specified subject, predicate and object from the repository, optionally restricted to the specified contexts.

Specified by:
removeMatch in interface RepositoryConnection
Parameters:
subject - The statement's subject, or null for a wildcard.
predicate - The statement's predicate, or null for a wildcard.
object - The statement's object, or null for a wildcard.
contexts - The context(s) to remove the data from. 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:
StoreException - If the statement(s) could not be removed from the repository, for example because the repository is not writable.


Copyright © 2001-2009 Aduna. All Rights Reserved.