Class RepositoryManager

java.lang.Object
org.eclipse.rdf4j.repository.manager.RepositoryManager
All Implemented Interfaces:
HttpClientDependent, RepositoryResolver
Direct Known Subclasses:
LocalRepositoryManager, RemoteRepositoryManager, TypeFilteringRepositoryManager

public abstract class RepositoryManager extends Object implements RepositoryResolver, HttpClientDependent
A manager for Repositorys.
Author:
Arjohn Kampman
See Also:
  • Field Details Link icon

  • Constructor Details Link icon

    • RepositoryManager Link icon

      protected RepositoryManager()
      Creates a new RepositoryManager.
    • RepositoryManager Link icon

      protected RepositoryManager(Map<String,Repository> initializedRepositories)
      Create a new RepositoryManager using the given map to store repository information.
      Parameters:
      initializedRepositories - A map that will be used to store repository information.
  • Method Details Link icon

    • isInitialized Link icon

      public boolean isInitialized()
      Indicates if this RepositoryManager has been initialized. Note that the initialization status may change if the Repository is shut down.
      Returns:
      true iff the repository manager has been initialized.
    • getHttpClient Link icon

      public abstract 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
      Returns:
      Returns the httpClient passed to Repository construction.
    • setHttpClient Link icon

      public abstract void setHttpClient(org.apache.http.client.HttpClient httpClient)
      Should be called before init().
      Specified by:
      setHttpClient in interface HttpClientDependent
      Parameters:
      httpClient - The httpClient to use for remote/service calls.
    • getModelFactory Link icon

      public ModelFactory getModelFactory()
      Get the ModelFactory used for creating new Model objects in the manager.
      Returns:
      the modelFactory
      Since:
      3.0
    • setModelFactory Link icon

      public void setModelFactory(ModelFactory modelFactory)
      Set the ModelFactory to use for creating new Model objects in the manager.
      Parameters:
      modelFactory - the modelFactory to set. May not be null.
      Since:
      3.0
    • init Link icon

      public void init() throws RepositoryException
      Initializes the repository manager.
      Throws:
      RepositoryException - If the manager failed to initialize.
      Since:
      2.5
    • getNewRepositoryID Link icon

      public String getNewRepositoryID(String baseName) throws RepositoryException, RepositoryConfigException
      Generates an ID for a new repository based on the specified base name. The base name may for example be a repository name entered by the user. The generated ID will contain a variant of this name that does not occur as a repository ID in this manager yet and is suitable for use as a file name (e.g. for the repository's data directory).
      Parameters:
      baseName - The String on which the returned ID should be based, must not be null.
      Returns:
      A new repository ID derived from the specified base name.
      Throws:
      RepositoryException
      RepositoryConfigException
    • getRepositoryIDs Link icon

      public Set<String> getRepositoryIDs() throws RepositoryException
      Get the IDs of all available repositories. Note that this is potentially slow as it may initialize all available repository configurations.
      Returns:
      a list of repository ID strings.
      Throws:
      RepositoryException
    • hasRepositoryConfig Link icon

      public boolean hasRepositoryConfig(String repositoryID) throws RepositoryException, RepositoryConfigException
      Throws:
      RepositoryException
      RepositoryConfigException
    • getRepositoryConfig Link icon

      public abstract RepositoryConfig getRepositoryConfig(String repositoryID) throws RepositoryConfigException, RepositoryException
      Throws:
      RepositoryConfigException
      RepositoryException
    • addRepositoryConfig Link icon

      public abstract void addRepositoryConfig(RepositoryConfig config) throws RepositoryException, RepositoryConfigException
      Adds or updates the configuration of a repository to the manager. The manager 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.
      Parameters:
      config - The repository configuration that should be added to or updated in the manager.
      Throws:
      RepositoryException - If the manager failed to update.
      RepositoryConfigException - If the manager doesn't know how to update a configuration due to inconsistent configuration data. For example, this happens when there are multiple existing configurations with the concerning ID.
    • isSafeToRemove Link icon

      public boolean isSafeToRemove(String repositoryID) throws RepositoryException
      Checks on whether the given repository is referred to by a ProxyRepository configuration.
      Parameters:
      repositoryID - id to check
      Returns:
      true if there is no existing proxy reference to the given id, false otherwise
      Throws:
      RepositoryException
    • removeRepository Link icon

      public boolean removeRepository(String repositoryID) throws RepositoryException, RepositoryConfigException
      Removes the specified repository by deleting its configuration if such a configuration is present, and removing any persistent data associated with the repository. Returns true if the specified repository configuration was actually present. NB this operation can not be undone!
      Parameters:
      repositoryID - The ID of the repository that needs to be removed.
      Throws:
      RepositoryException - If the manager failed to update the configuration.
      RepositoryConfigException - If the manager doesn't know how to remove a repository due to inconsistent configuration data. For example, this can happen when there are multiple existing configurations with the concerning ID.
    • getRepository Link icon

      public Repository getRepository(String identity) throws RepositoryConfigException, RepositoryException
      Gets the repository that is known by the specified ID from this manager.
      Specified by:
      getRepository in interface RepositoryResolver
      Parameters:
      identity - A repository ID.
      Returns:
      An initialized Repository object, or null if no repository was known for the specified ID.
      Throws:
      RepositoryConfigException - If no repository could be created due to invalid or incomplete configuration data.
      RepositoryException
    • getInitializedRepositoryIDs Link icon

      public Set<String> getInitializedRepositoryIDs()
      Returns all initialized repositories. This method returns fast as no lazy creation of repositories takes place.
      Returns:
      a collection containing the IDs of all initialized repositories.
      See Also:
    • getInitializedRepositories Link icon

      public Collection<Repository> getInitializedRepositories()
      Returns all initialized repositories. This method returns fast as no lazy creation of repositories takes place.
      Returns:
      a set containing the initialized repositories.
      See Also:
    • setInitializedRepositories Link icon

      protected void setInitializedRepositories(Map<String,Repository> nextInitializedRepositories)
    • updateInitializedRepositories Link icon

      protected void updateInitializedRepositories()
    • getAllRepositories Link icon

      Returns all configured repositories. This may be an expensive operation as it initializes repositories that have not been initialized yet.
      Returns:
      The Set of all configured Repositories.
      Throws:
      RepositoryConfigException
      RepositoryException
      See Also:
    • createRepository Link icon

      protected abstract Repository createRepository(String id) throws RepositoryConfigException, RepositoryException
      Creates and initializes the repository with the specified ID.
      Parameters:
      id - A repository ID.
      Returns:
      The created and initialized 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.
    • getRepositoryInfo Link icon

      public RepositoryInfo getRepositoryInfo(String id) throws RepositoryException
      Gets the repository that is known by the specified ID from this manager.
      Parameters:
      id - A repository ID.
      Returns:
      A Repository object, or null if no repository was known for the specified ID.
      Throws:
      RepositoryException - When not able to retrieve existing configurations
    • getAllRepositoryInfos Link icon

      public abstract Collection<RepositoryInfo> getAllRepositoryInfos() throws RepositoryException
      Retrieve meta information of all configured repositories.
      Returns:
      a collection of RepositoryInfo objects
      Throws:
      RepositoryException - if the repository meta information could not be retrieved.
    • getAllUserRepositoryInfos Link icon

      @Deprecated(since="4.0") public Collection<RepositoryInfo> getAllUserRepositoryInfos() throws RepositoryException
      Deprecated.
      Throws:
      RepositoryException
    • getAllRepositoryInfos Link icon

      @Deprecated(since="4.0") public Collection<RepositoryInfo> getAllRepositoryInfos(boolean skipSystemRepo) throws RepositoryException
      Deprecated.
      Throws:
      RepositoryException
    • refresh Link icon

      public void refresh()
      Shuts down all initialized user repositories.
      See Also:
    • shutDown Link icon

      public void shutDown()
      Shuts down all initialized repositories.
      See Also:
    • getLocation Link icon

      public abstract URL getLocation() throws MalformedURLException
      Gets the URL of the server or directory.
      Throws:
      MalformedURLException - If the location cannot be represented as a URL.