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 and 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 and 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.

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.