Class RepositoryCacheImpl
- java.lang.Object
-
- org.apache.karaf.features.internal.service.RepositoryCacheImpl
-
- All Implemented Interfaces:
RepositoryCache
public class RepositoryCacheImpl extends Object implements RepositoryCache
Implementation ofRepositoryCache
that makes use ofFeaturesProcessor
to alter feature definitions after reading them from XML file.
-
-
Constructor Summary
Constructors Constructor Description RepositoryCacheImpl(FeaturesProcessor featuresProcessor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addRepository(Repository repository)
Adds existingRepository
to be tracked/managed by this cache and later be available e.g., viaRepositoryCache.getRepository(String)
Repository
create(URI uri, boolean validate)
CreatesRepository
without adding it to cacheRepository
getRepository(String uri)
GetsRepository
by itsURI
Repository
getRepositoryByName(String name)
GetsRepository
by its nameSet<Repository>
getRepositoryClosure(Repository repo)
Returns a set containing the given repository and all its dependencies recursivelyRepository[]
listMatchingRepositories(Set<String> uris)
Returns an array of cachedrepositories
for a set ofrepository URIs
Repository[]
listRepositories()
Returns an array of all cachedrepositories
void
removeRepository(URI repositoryUri)
Removes existingRepository
by itsURI
-
-
-
Constructor Detail
-
RepositoryCacheImpl
public RepositoryCacheImpl(FeaturesProcessor featuresProcessor)
-
-
Method Detail
-
create
public Repository create(URI uri, boolean validate)
Description copied from interface:RepositoryCache
CreatesRepository
without adding it to cache- Specified by:
create
in interfaceRepositoryCache
- Parameters:
uri
- an URI (e.g.,mvn:groupId/artifactId/version/xml/features
of repositoryvalidate
- whether to perform XML Schema validation of loaded features XML- Returns:
- a
Repository
that may be inspected or added to cache
-
addRepository
public void addRepository(Repository repository)
Description copied from interface:RepositoryCache
Adds existingRepository
to be tracked/managed by this cache and later be available e.g., viaRepositoryCache.getRepository(String)
- Specified by:
addRepository
in interfaceRepositoryCache
- Parameters:
repository
- existing repository to add to cache
-
removeRepository
public void removeRepository(URI repositoryUri)
Description copied from interface:RepositoryCache
Removes existingRepository
by itsURI
- Specified by:
removeRepository
in interfaceRepositoryCache
- Parameters:
repositoryUri
-URI
of theRepository
to remove
-
listRepositories
public Repository[] listRepositories()
Description copied from interface:RepositoryCache
Returns an array of all cachedrepositories
- Specified by:
listRepositories
in interfaceRepositoryCache
- Returns:
- list of all
repositories
-
listMatchingRepositories
public Repository[] listMatchingRepositories(Set<String> uris)
Description copied from interface:RepositoryCache
Returns an array of cachedrepositories
for a set ofrepository URIs
- Specified by:
listMatchingRepositories
in interfaceRepositoryCache
- Returns:
- list of matched
repositories
-
getRepositoryByName
public Repository getRepositoryByName(String name)
Description copied from interface:RepositoryCache
GetsRepository
by its name- Specified by:
getRepositoryByName
in interfaceRepositoryCache
- Parameters:
name
- Name of the repository- Returns:
Repository
as it's stored inside the cache
-
getRepository
public Repository getRepository(String uri)
Description copied from interface:RepositoryCache
GetsRepository
by itsURI
- Specified by:
getRepository
in interfaceRepositoryCache
- Parameters:
uri
-URI
of the repository- Returns:
Repository
as it's stored inside the cache
-
getRepositoryClosure
public Set<Repository> getRepositoryClosure(Repository repo)
Returns a set containing the given repository and all its dependencies recursively- Specified by:
getRepositoryClosure
in interfaceRepositoryCache
- Parameters:
repo
- ARepository
, that possibly references other feature repositories.- Returns:
- A closure of
repositories
-
-