Class RepositoryWrapper
- java.lang.Object
-
- org.eclipse.rdf4j.repository.base.RepositoryWrapper
-
- All Implemented Interfaces:
DelegatingRepository
,Repository
- Direct Known Subclasses:
ContextAwareRepository
,DatasetRepository
,FedXRepositoryWrapper
,InterceptingRepositoryWrapper
,NotifyingRepositoryWrapper
public class RepositoryWrapper extends Object implements DelegatingRepository
ADelegatingRepository
implementation that, by default, forwards all method calls to its delegate.- Author:
- Herko ter Horst, Arjohn Kampman
-
-
Constructor Summary
Constructors Constructor Description RepositoryWrapper()
Creates a new RepositoryWrapper.RepositoryWrapper(Repository delegate)
Creates a new RepositoryWrapper and callssetDelegate(Repository)
with the supplied delegate repository.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RepositoryConnection
getConnection()
Opens a connection to this repository that can be used for querying and updating the contents of the repository.File
getDataDir()
Get the directory where data and logging for this repository is stored.Repository
getDelegate()
ValueFactory
getValueFactory()
Gets a ValueFactory for this Repository.void
init()
Initializes this repository.boolean
isInitialized()
Indicates if the Repository has been initialized.boolean
isWritable()
Checks whether this repository is writable, i.e.void
setDataDir(File dataDir)
Set the directory where data and logging for this repository is stored.void
setDelegate(Repository delegate)
void
shutDown()
Shuts the repository down, releasing any resources that it keeps hold of.String
toString()
-
-
-
Constructor Detail
-
RepositoryWrapper
public RepositoryWrapper()
Creates a new RepositoryWrapper.
-
RepositoryWrapper
public RepositoryWrapper(Repository delegate)
Creates a new RepositoryWrapper and callssetDelegate(Repository)
with the supplied delegate repository.
-
-
Method Detail
-
setDelegate
public void setDelegate(Repository delegate)
- Specified by:
setDelegate
in interfaceDelegatingRepository
-
getDelegate
public Repository getDelegate()
- Specified by:
getDelegate
in interfaceDelegatingRepository
-
setDataDir
public void setDataDir(File dataDir)
Description copied from interface:Repository
Set the directory where data and logging for this repository is stored.- Specified by:
setDataDir
in interfaceRepository
- Parameters:
dataDir
- the directory where data for this repository is stored
-
getDataDir
public File getDataDir()
Description copied from interface:Repository
Get the directory where data and logging for this repository is stored.- Specified by:
getDataDir
in interfaceRepository
- Returns:
- the directory where data for this repository is stored.
-
shutDown
public void shutDown() throws RepositoryException
Description copied from interface:Repository
Shuts the repository down, releasing any resources that it keeps hold of. Once shut down, the repository can no longer be used until it is re-initialized.- Specified by:
shutDown
in interfaceRepository
- Throws:
RepositoryException
-
isWritable
public boolean isWritable() throws RepositoryException
Description copied from interface:Repository
Checks whether this repository is writable, i.e. if the data contained in this repository can be changed. The writability of the repository is determined by the writability of the Sail that this repository operates on.- Specified by:
isWritable
in interfaceRepository
- Throws:
RepositoryException
-
getConnection
public RepositoryConnection getConnection() throws RepositoryException
Description copied from interface:Repository
Opens a connection to this repository that can be used for querying and updating the contents of the repository. Created connections need to be closed to make sure that any resources they keep hold of are released. The best way to do this is to use a try-with-resources block, as follows:try (RepositoryConnection conn = repository.getConnection()) { // perform operations on the connection }
Note that
RepositoryConnection
is not guaranteed to be thread-safe! The recommended pattern for repository access in a multi-threaded application is to share the Repository object between threads, but have each thread create and use its ownRepositoryConnection
s.- Specified by:
getConnection
in interfaceRepository
- Returns:
- A connection that allows operations on this repository.
- Throws:
RepositoryException
- If something went wrong during the creation of the Connection.
-
getValueFactory
public ValueFactory getValueFactory()
Description copied from interface:Repository
Gets a ValueFactory for this Repository.- Specified by:
getValueFactory
in interfaceRepository
- Returns:
- A repository-specific ValueFactory.
-
isInitialized
public boolean isInitialized()
Description copied from interface:Repository
Indicates if the Repository has been initialized. Note that the initialization status may change if the Repository is shut down.- Specified by:
isInitialized
in interfaceRepository
- Returns:
- true iff the repository has been initialized.
-
init
public void init() throws RepositoryException
Description copied from interface:Repository
Initializes this repository. A repository needs to be initialized before it can be used, however explicitly calling this method is not necessary: the repository will automatically initialize itself if an operation is executed on it that requires it to be initialized.- Specified by:
init
in interfaceRepository
- Throws:
RepositoryException
- If the initialization failed.
-
-