Class LocalRepositoryManager
java.lang.Object
org.eclipse.rdf4j.repository.manager.RepositoryManager
org.eclipse.rdf4j.repository.manager.LocalRepositoryManager
- All Implemented Interfaces:
HttpClientDependent, RepositoryResolver
- Direct Known Subclasses:
NotifyingLocalRepositoryManager
An implementation of the
RepositoryManager interface that operates directly on the repository data files in
the local file system.- Author:
- Arjohn Kampman
-
Field Summary
FieldsFields inherited from class RepositoryManager
initializedRepositories, logger, NAMESPACE, PROXIED_IDModifier and TypeFieldDescriptionprotected Map<String, Repository> protected final org.slf4j.Loggerstatic final StringDeprecated.static final IRIDeprecated, for removal: This API element is subject to removal in a future version.useCONFIG.Proxy.proxiedIDinstead. -
Constructor Summary
ConstructorsConstructorDescriptionLocalRepositoryManager(File baseDir) Creates a new RepositoryManager that operates on the specfified base directory. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRepositoryConfig(RepositoryConfig config) Adds or updates the configuration of a repository to the manager.protected RepositoryCreates and initializes the repository with the specified ID.Retrieve meta information of all configured repositories.Gets the base dir against which to resolve relative paths.protected FederatedServiceResolverRDF4JHttpClientthat has been assigned or has been used by this object.Gets the base dir against which to resolve relative paths.getRepositoryDir(String repositoryID) Gets the repository that is known by the specified ID from this manager.protected SharedHttpClientSessionManagerprotected voidMigrate a repository configuration from the legacy vocabulary to the new vocabulary inCONFIG.booleanremoveRepository(String repositoryID) Removes the specified repository by deleting its configuration if such a configuration is present, and removing any persistent data associated with the repository.resolvePath(String path) Resolves the specified path against the manager's base directory.voidsetHttpClient(RDF4JHttpClient httpClient) Should be called beforeRepositoryManager.init().voidshutDown()Shuts down all initialized repositories.Methods inherited from class RepositoryManager
getAllRepositories, getAllRepositoryInfos, getAllUserRepositoryInfos, getInitializedRepositories, getInitializedRepositoryIDs, getModelFactory, getNewRepositoryID, getRepository, getRepositoryIDs, hasRepositoryConfig, init, isInitialized, isSafeToRemove, refresh, setInitializedRepositories, setModelFactory, updateInitializedRepositoriesModifier and TypeMethodDescriptionReturns all configured repositories.getAllRepositoryInfos(boolean skipSystemRepo) Deprecated.UseRepositoryManager.getAllRepositoryInfos()instead.Deprecated.UseRepositoryManager.getAllRepositoryInfos()instead.Returns all initialized repositories.Returns all initialized repositories.Get theModelFactoryused for creating newModelobjects in the manager.getNewRepositoryID(String baseName) Generates an ID for a new repository based on the specified base name.getRepository(String identity) Gets the repository that is known by the specified ID from this manager.Get the IDs of all available repositories.booleanhasRepositoryConfig(String repositoryID) voidinit()Initializes the repository manager.booleanIndicates if this RepositoryManager has been initialized.booleanisSafeToRemove(String repositoryID) Checks on whether the given repository is referred to by aProxyRepositoryconfiguration.voidrefresh()Shuts down all initialized user repositories.protected voidsetInitializedRepositories(Map<String, Repository> nextInitializedRepositories) voidsetModelFactory(ModelFactory modelFactory) Set theModelFactoryto use for creating newModelobjects in the manager.protected void
-
Field Details
-
REPOSITORIES_DIR
- See Also:
-
-
Constructor Details
-
LocalRepositoryManager
Creates a new RepositoryManager that operates on the specfified base directory.- Parameters:
baseDir- The base directory where data for repositories can be stored, among other things.
-
-
Method Details
-
getBaseDir
Gets the base dir against which to resolve relative paths. -
getLocation
Gets the base dir against which to resolve relative paths.- Specified by:
getLocationin classRepositoryManager- Throws:
MalformedURLException- If the path cannot be parsed as a URL
-
getSesameClient
- Returns:
- Returns the httpClient.
-
getHttpClient
Description copied from interface:HttpClientDependentRDF4JHttpClientthat 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 whetherRDF4JHttpClientwas passed to or created by this object respectively.- Specified by:
getHttpClientin interfaceHttpClientDependent- Specified by:
getHttpClientin classRepositoryManager- Returns:
- Returns the httpClient passed to
Repositoryconstruction.
-
setHttpClient
Description copied from class:RepositoryManagerShould be called beforeRepositoryManager.init().- Specified by:
setHttpClientin interfaceHttpClientDependent- Specified by:
setHttpClientin classRepositoryManager- Parameters:
httpClient- The httpClient to use for remote/service calls.
-
getFederatedServiceResolver
- Returns:
- Returns the serviceResolver.
-
shutDown
public void shutDown()Description copied from class:RepositoryManagerShuts down all initialized repositories.- Overrides:
shutDownin classRepositoryManager- See Also:
-
resolvePath
-
getRepositoryDir
-
createRepository
protected Repository createRepository(String id) throws RepositoryConfigException, RepositoryException Description copied from class:RepositoryManagerCreates and initializes the repository with the specified ID.- Specified by:
createRepositoryin classRepositoryManager- 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.
-
getRepositoryConfig
- Specified by:
getRepositoryConfigin classRepositoryManager
-
migrateToNewConfigVocabulary
Migrate a repository configuration from the legacy vocabulary to the new vocabulary inCONFIG.Override this method to provide custom migration logic.
- Parameters:
config-
-
getRepositoryInfo
Description copied from class:RepositoryManagerGets the repository that is known by the specified ID from this manager.- Overrides:
getRepositoryInfoin classRepositoryManager- Parameters:
id- A repository ID.- Returns:
- A Repository object, or null if no repository was known for the specified ID.
-
getAllRepositoryInfos
Description copied from class:RepositoryManagerRetrieve meta information of all configured repositories.- Specified by:
getAllRepositoryInfosin classRepositoryManager- Returns:
- a collection of
RepositoryInfoobjects - Throws:
RepositoryException- if the repository meta information could not be retrieved.
-
addRepositoryConfig
public void addRepositoryConfig(RepositoryConfig config) throws RepositoryException, RepositoryConfigException Description copied from class:RepositoryManagerAdds 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.- Specified by:
addRepositoryConfigin classRepositoryManager- 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.
-
removeRepository
public boolean removeRepository(String repositoryID) throws RepositoryException, RepositoryConfigException Description copied from class:RepositoryManagerRemoves 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!- Overrides:
removeRepositoryin classRepositoryManager- 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.
-
CONFIG.Proxyinstead.