@ProviderType public interface Repository
resources
.
Repositories may be registered as services and may be used as by a resolve context during resolver operations.
Repositories registered as services may be filtered using standard service properties.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
URL
Service property to provide URLs related to this repository.
|
Modifier and Type | Method and Description |
---|---|
java.util.Map<Requirement,java.util.Collection<Capability>> |
findProviders(java.util.Collection<? extends Requirement> requirements)
Find the capabilities that match the specified requirements.
|
Promise<java.util.Collection<Resource>> |
findProviders(RequirementExpression expression)
Find the resources that match the specified requirement expression.
|
ExpressionCombiner |
getExpressionCombiner()
Return an expression combiner.
|
RequirementBuilder |
newRequirementBuilder(java.lang.String namespace)
Return a new
RequirementBuilder which provides a convenient way
to create a requirement. |
static final java.lang.String URL
The value of this property must be of type String
,
String[]
, or Collection<String>
.
java.util.Map<Requirement,java.util.Collection<Capability>> findProviders(java.util.Collection<? extends Requirement> requirements)
requirements
- The requirements for which matching capabilities
should be returned. Must not be null
.size()
may result in a long
running operation.Promise<java.util.Collection<Resource>> findProviders(RequirementExpression expression)
expression
- The RequirementExpression
for which matching
capabilities should be returned. Must not be null
.Resource
s. If there
are no matching resources, an empty collection is returned. The
returned collection is the property of the caller and can be
modified by the caller. The returned collection may be lazily
populated, so calling size()
may result in a long running
operation.ExpressionCombiner getExpressionCombiner()
and
, or
and
not
operators.ExpressionCombiner
.RequirementBuilder newRequirementBuilder(java.lang.String namespace)
RequirementBuilder
which provides a convenient way
to create a requirement.
For example:
Requirement myReq = repository.newRequirementBuilder("org.foo.ns1"). addDirective("filter", "(org.foo.ns1=val1)"). addDirective("cardinality", "multiple").build();
namespace
- The namespace for the requirement to be created.Copyright © OSGi Alliance (2000, 2018). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0