Package org.eclipse.rdf4j.repository.manager

## Class RemoteRepositoryManager

- java.lang.Object
- - org.eclipse.rdf4j.repository.manager.RepositoryManager
  - - org.eclipse.rdf4j.repository.manager.RemoteRepositoryManager

- All Implemented Interfaces:
    `HttpClientDependent`, `RepositoryResolver`

      public class RemoteRepositoryManager
      extends RepositoryManager

  A manager for `Repository`s that reside on a remote server. This repository manager allows one to access repositories over HTTP similar to how local repositories are accessed using the `LocalRepositoryManager`.
  Author:
    Arjohn Kampman

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.rdf4j.repository.manager.RepositoryManager

      `initializedRepositories, logger, NAMESPACE, PROXIED_ID`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `RemoteRepositoryManager​(String serverURL)` | Creates a new RepositoryManager that operates on the specified base directory.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addRepositoryConfig​(RepositoryConfig config)` | Adds or updates the configuration of a repository to the manager's system repository.
    `protected Repository` | `createRepository​(String id)` | Creates and initializes the repository with the specified ID.
    `protected Repository` | `createSystemRepository()` | Deprecated.
    `Collection<RepositoryInfo>` | `getAllRepositoryInfos​(boolean skipSystemRepo)` |
    `org.apache.http.client.HttpClient` | `getHttpClient()` | `HttpClient` that has been assigned or has been used by this object.
    `static RemoteRepositoryManager` | `getInstance​(String serverURL)` | Creates an initialized `RemoteRepositoryManager` with the specified server URL.
    `static RemoteRepositoryManager` | `getInstance​(String serverURL, String username, String password)` | Creates an initialized `RemoteRepositoryManager` with the specified server URL and credentials.
    `URL` | `getLocation()` | Gets the URL of the remote server, e.g.
    `RepositoryConfig` | `getRepositoryConfig​(String id)` |
    `String` | `getServerURL()` | Gets the URL of the remote server, e.g.
    `protected SharedHttpClientSessionManager` | `getSharedHttpClientSessionManager()` |
    `boolean` | `removeRepository​(String repositoryID)` | Removes the specified repository by deleting its configuration from the manager's system repository if such a configuration is present, and removing any persistent data associated with the repository.
    `void` | `setHttpClient​(org.apache.http.client.HttpClient protocolSession)` | Should be called before `RepositoryManager.init()`.
    `void` | `setUsernameAndPassword​(String username, String password)` | Set the username and password for authenication with the remote server.
    `void` | `shutDown()` | Shuts down all initialized repositories, including the SYSTEM repository.

    - ### Methods inherited from class org.eclipse.rdf4j.repository.manager.RepositoryManager

      `cleanUpRepository, getAllRepositories, getAllRepositoryInfos, getAllUserRepositoryInfos, getInitializedRepositories, getInitializedRepositoryIDs, getModelFactory, getNewRepositoryID, getRepository, getRepositoryIDs, getRepositoryInfo, getSystemRepository, hasRepositoryConfig, init, initialize, isInitialized, isSafeToRemove, refresh, removeRepositoryConfig, setInitializedRepositories, setModelFactory, updateInitializedRepositories`

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

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

- - ### Constructor Detail

    - #### RemoteRepositoryManager

          public RemoteRepositoryManager​(String serverURL)

      Creates a new RepositoryManager that operates on the specified base directory.
      Parameters:
        `serverURL` - The URL of the server.

  - ### Method Detail

    - #### getInstance

          public static RemoteRepositoryManager getInstance​(String serverURL)
                                                     throws RepositoryException

      Creates an initialized `RemoteRepositoryManager` with the specified server URL.
      Throws:
        `RepositoryException`

    - #### getInstance

          public static RemoteRepositoryManager getInstance​(String serverURL,
                                                            String username,
                                                            String password)
                                                     throws RepositoryException

      Creates an initialized `RemoteRepositoryManager` with the specified server URL and credentials.
      Throws:
        `RepositoryException`

    - #### getSharedHttpClientSessionManager

          protected SharedHttpClientSessionManager getSharedHttpClientSessionManager()

      Returns:
        Returns the `SharedHttpClientSessionManager`

    - #### getHttpClient

          public org.apache.http.client.HttpClient getHttpClient()

      Description copied from interface: `HttpClientDependent`
      `HttpClient` that has been assigned or has been used by this object. The life cycle might not be or might be tied to this object, depending on whether `HttpClient` was passed to or created by this object respectively.
      Specified by:
        `getHttpClient` in interface `HttpClientDependent`
      Specified by:
        `getHttpClient` in class `RepositoryManager`
      Returns:
        Returns the httpClient passed to `Repository` construction.

    - #### setHttpClient

          public void setHttpClient​(org.apache.http.client.HttpClient protocolSession)

      Description copied from class: `RepositoryManager`
      Should be called before `RepositoryManager.init()`.
      Specified by:
        `setHttpClient` in interface `HttpClientDependent`
      Specified by:
        `setHttpClient` in class `RepositoryManager`
      Parameters:
        `protocolSession` - The httpClient to use for remote/service calls.

    - #### shutDown

          public void shutDown()

      Description copied from class: `RepositoryManager`
      Shuts down all initialized repositories, including the SYSTEM repository.
      Overrides:
        `shutDown` in class `RepositoryManager`
      See Also:
        `RepositoryManager.refresh()`

    - #### setUsernameAndPassword

          public void setUsernameAndPassword​(String username,
                                             String password)

      Set the username and password for authenication with the remote server.
      Parameters:
        `username` - the username
        `password` - the password

    - #### createSystemRepository

          @Deprecated
          protected Repository createSystemRepository()
                                               throws RepositoryException

      Deprecated.
      Overrides:
        `createSystemRepository` in class `RepositoryManager`
      Throws:
        `RepositoryException`

    - #### getLocation

          public URL getLocation()
                          throws MalformedURLException

      Gets the URL of the remote server, e.g. "http://localhost:8080/rdf4j-server/".
      Specified by:
        `getLocation` in class `RepositoryManager`
      Throws:
        `MalformedURLException` - If serverURL cannot be parsed

    - #### getServerURL

          public String getServerURL()

      Gets the URL of the remote server, e.g. "http://localhost:8080/rdf4j-server/".

    - #### createRepository

          protected Repository createRepository​(String id)
                                         throws RepositoryConfigException,
                                                RepositoryException

      Creates and initializes the repository with the specified ID.
      Specified by:
        `createRepository` in class `RepositoryManager`
      Parameters:
        `id` - A repository ID.
      Returns:
        The created repository, or null if no such repository exists.
      Throws:
        `RepositoryConfigException` - If no repository could be created due to invalid or incomplete configuration data.
        `RepositoryException` - If the repository could not be initialized.

    - #### getRepositoryConfig

          public RepositoryConfig getRepositoryConfig​(String id)
                                               throws RepositoryException

      Overrides:
        `getRepositoryConfig` in class `RepositoryManager`
      Throws:
        `RepositoryException`

    - #### getAllRepositoryInfos

          public Collection<RepositoryInfo> getAllRepositoryInfos​(boolean skipSystemRepo)
                                                           throws RepositoryException

      Specified by:
        `getAllRepositoryInfos` in class `RepositoryManager`
      Throws:
        `RepositoryException` - When not able to retrieve existing configurations

    - #### addRepositoryConfig

          public void addRepositoryConfig​(RepositoryConfig config)
                                   throws RepositoryException,
                                          RepositoryConfigException

      Description copied from class: `RepositoryManager`
      Adds or updates the configuration of a repository to the manager's system repository. The system repository may already contain a configuration for a repository with the same ID as specified by config, in which case all previous configuration data for that repository will be cleared before the new configuration is added.
      Overrides:
        `addRepositoryConfig` in class `RepositoryManager`
      Parameters:
        `config` - The repository configuration that should be added to or updated in the system repository.
      Throws:
        `RepositoryException` - If the manager failed to update it's system repository.
        `RepositoryConfigException` - If the manager doesn't know how to update a configuration due to inconsistent configuration data in the system repository. For example, this happens when there are multiple existing configurations with the concerning ID.

    - #### removeRepository

          public boolean removeRepository​(String repositoryID)
                                   throws RepositoryException,
                                          RepositoryConfigException

      Description copied from class: `RepositoryManager`
      Removes the specified repository by deleting its configuration from the manager's system repository if such a configuration is present, and removing any persistent data associated with the repository. Returns true if the system repository actually contained the specified repository configuration. NB this operation can not be undone!
      Overrides:
        `removeRepository` in class `RepositoryManager`
      Parameters:
        `repositoryID` - The ID of the repository that needs to be removed.
      Throws:
        `RepositoryException` - If the manager failed to update its system repository.
        `RepositoryConfigException` - If the manager doesn't know how to remove a repository due to inconsistent configuration data in the system repository. For example, this happens when there are multiple existing configurations with the concerning ID.