Package org.eclipse.rdf4j.repository.base

## Class RepositoryWrapper

- java.lang.Object
- - org.eclipse.rdf4j.repository.base.RepositoryWrapper

- All Implemented Interfaces:
    `DelegatingRepository`, `Repository`
  Direct Known Subclasses:
    `ContextAwareRepository`, `DatasetRepository`, `InterceptingRepositoryWrapper`, `NotifyingRepositoryWrapper`

      public class RepositoryWrapper
      extends Object
      implements DelegatingRepository

  A `DelegatingRepository` 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 calls `setDelegate(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()` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### RepositoryWrapper

          public RepositoryWrapper()

      Creates a new RepositoryWrapper.

    - #### RepositoryWrapper

          public RepositoryWrapper​(Repository delegate)

      Creates a new RepositoryWrapper and calls `setDelegate(Repository)` with the supplied delegate repository.

  - ### Method Detail

    - #### setDelegate

          public void setDelegate​(Repository delegate)

      Specified by:
        `setDelegate` in interface `DelegatingRepository`

    - #### getDelegate

          public Repository getDelegate()

      Specified by:
        `getDelegate` in interface `DelegatingRepository`

    - #### 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 interface `Repository`
      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 interface `Repository`
      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 interface `Repository`
      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 interface `Repository`
      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 own `RepositoryConnection`s.
      Specified by:
        `getConnection` in interface `Repository`
      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 interface `Repository`
      Returns:
        A repository-specific ValueFactory.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### 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 interface `Repository`
      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 interface `Repository`
      Throws:
        `RepositoryException` - If the initialization failed.