Package org.eclipse.rdf4j.sail.helpers
Class SailWrapper
java.lang.Object
org.eclipse.rdf4j.sail.helpers.SailWrapper
- All Implemented Interfaces:
FederatedServiceResolverClient
,Sail
,StackableSail
- Direct Known Subclasses:
NotifyingSailWrapper
An implementation of the StackableSail interface that wraps another Sail object and forwards any relevant calls to
the wrapped Sail.
- Author:
- Arjohn Kampman
-
Constructor Summary
ConstructorDescriptionCreates a new SailWrapper.SailWrapper
(Sail baseSail) Creates a new SailWrapper that wraps the supplied Sail. -
Method Summary
Modifier and TypeMethodDescriptionGets the base Sail that this Sail works on top of.Opens a connection on the Sail which can be used to query and update data.Gets the Sail's data directory.Retrieves the defaultIsolationLevel
level on which transactions in this Sail operate.Retrieve theIsolationLevel
s supported by this SAIL, ordered by increasing complexity.Gets a ValueFactory object that can be used to create IRI-, blank node-, literal- and statement objects.void
init()
Initializes the Sail.boolean
Checks whether this Sail object is writable, i.e.void
setBaseSail
(Sail baseSail) Sets the base Sail that this Sail will work on top of.void
setDataDir
(File dataDir) Sets the data directory for the Sail.void
Sets theFederatedServiceResolver
to use for this client.void
shutDown()
Shuts down the Sail, giving it the opportunity to synchronize any stale data.protected void
-
Constructor Details
-
SailWrapper
public SailWrapper()Creates a new SailWrapper. The base Sail for the created SailWrapper can be set later usingsetBaseSail(org.eclipse.rdf4j.sail.Sail)
. -
SailWrapper
Creates a new SailWrapper that wraps the supplied Sail.
-
-
Method Details
-
setBaseSail
Description copied from interface:StackableSail
Sets the base Sail that this Sail will work on top of. This method will be called before the initialize() method is called.- Specified by:
setBaseSail
in interfaceStackableSail
-
getBaseSail
Description copied from interface:StackableSail
Gets the base Sail that this Sail works on top of.- Specified by:
getBaseSail
in interfaceStackableSail
-
verifyBaseSailSet
protected void verifyBaseSailSet() -
setFederatedServiceResolver
Description copied from interface:FederatedServiceResolverClient
Sets theFederatedServiceResolver
to use for this client.- Specified by:
setFederatedServiceResolver
in interfaceFederatedServiceResolverClient
- Parameters:
resolver
- The resolver to use.
-
getDataDir
Description copied from interface:Sail
Gets the Sail's data directory.- Specified by:
getDataDir
in interfaceSail
- See Also:
-
setDataDir
Description copied from interface:Sail
Sets the data directory for the Sail. The Sail can use this directory for storage of data, parameters, etc. This directory must be set before the Sail isinvalid @link
initialized
- Specified by:
setDataDir
in interfaceSail
-
init
Description copied from interface:Sail
Initializes the Sail. Care should be taken that required initialization parameters have been set before this method is called. Please consult the specific Sail implementation for information about the relevant parameters.- Specified by:
init
in interfaceSail
- Throws:
SailException
- If the Sail could not be initialized.
-
shutDown
Description copied from interface:Sail
Shuts down the Sail, giving it the opportunity to synchronize any stale data. Care should be taken that all initialized Sails are being shut down before an application exits to avoid potential loss of data. Once shut down, a Sail can no longer be used until it is re-initialized.- Specified by:
shutDown
in interfaceSail
- Throws:
SailException
- If the Sail object encountered an error or unexpected situation internally.
-
isWritable
Description copied from interface:Sail
Checks whether this Sail object is writable, i.e. if the data contained in this Sail object can be changed.- Specified by:
isWritable
in interfaceSail
- Throws:
SailException
-
getConnection
Description copied from interface:Sail
Opens a connection on the Sail which can be used to query and update data. Depending on how the implementation handles concurrent access, a call to this method might block when there is another open connection on this Sail.- Specified by:
getConnection
in interfaceSail
- Throws:
SailException
- If no transaction could be started, for example because the Sail is not writable.
-
getValueFactory
Description copied from interface:Sail
Gets a ValueFactory object that can be used to create IRI-, blank node-, literal- and statement objects.- Specified by:
getValueFactory
in interfaceSail
- Returns:
- a ValueFactory object for this Sail object.
-
getSupportedIsolationLevels
Description copied from interface:Sail
Retrieve theIsolationLevel
s supported by this SAIL, ordered by increasing complexity.- Specified by:
getSupportedIsolationLevels
in interfaceSail
- Returns:
- a non-empty List of supported Isolation Levels, in order of increasing complexity. Every SAIL supports at
least one
IsolationLevel
.
-
getDefaultIsolationLevel
Description copied from interface:Sail
Retrieves the defaultIsolationLevel
level on which transactions in this Sail operate.- Specified by:
getDefaultIsolationLevel
in interfaceSail
- Returns:
- the
IsolationLevel
that will be used withSailConnection.begin()
, for SAIL connections returned bySail.getConnection()
.
-