Package aQute.bnd.osgi.repository
Class AbstractIndexingRepository<KEY,FILE>
java.lang.Object
aQute.bnd.osgi.repository.BaseRepository
aQute.bnd.osgi.repository.AbstractIndexingRepository<KEY,FILE>
- All Implemented Interfaces:
org.osgi.service.repository.Repository
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Supplier<ResourcesRepository>
private final Map<KEY,
Supplier<? extends Collection<? extends org.osgi.resource.Resource>>> Fields inherited from class aQute.bnd.osgi.repository.BaseRepository
all
Fields inherited from interface org.osgi.service.repository.Repository
URL
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
add
(KEY key, Supplier<? extends Collection<? extends org.osgi.resource.Resource>> supplier) private ResourcesRepository
protected ResourceBuilder
fileIndexer
(ResourceBuilder rb, File file) Map<org.osgi.resource.Requirement,
Collection<org.osgi.resource.Capability>> findProviders
(Collection<? extends org.osgi.resource.Requirement> requirements) void
index
(KEY key, Collection<FILE> files) void
index
(KEY key, Supplier<? extends Collection<FILE>> files) indexer
(Supplier<? extends Collection<FILE>> files, BiFunction<? super ResourceBuilder, FILE, ? extends ResourceBuilder> indexer) protected abstract BiFunction<ResourceBuilder,
FILE, ? extends ResourceBuilder> protected abstract boolean
protected <S> Supplier<S>
protected boolean
Methods inherited from class aQute.bnd.osgi.repository.BaseRepository
findProviders, getExpressionCombiner, newRequirementBuilder
-
Field Details
-
resources
private final Map<KEY,Supplier<? extends Collection<? extends org.osgi.resource.Resource>>> resources -
repository
-
-
Constructor Details
-
AbstractIndexingRepository
protected AbstractIndexingRepository()
-
-
Method Details
-
memoize
-
isValid
-
indexer
-
fileIndexer
-
index
-
index
-
add
protected void add(KEY key, Supplier<? extends Collection<? extends org.osgi.resource.Resource>> supplier) -
remove
-
indexer
private Supplier<List<org.osgi.resource.Resource>> indexer(Supplier<? extends Collection<FILE>> files, BiFunction<? super ResourceBuilder, FILE, ? extends ResourceBuilder> indexer) -
findProviders
public Map<org.osgi.resource.Requirement,Collection<org.osgi.resource.Capability>> findProviders(Collection<? extends org.osgi.resource.Requirement> requirements) -
aggregate
-