Package aQute.bnd.osgi.resource
Class ResourceUtils
- java.lang.Object
-
- aQute.bnd.osgi.resource.ResourceUtils
-
public class ResourceUtils extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ResourceUtils.BundleCap
static interface
ResourceUtils.ContentCapability
static interface
ResourceUtils.IdentityCapability
-
Field Summary
Fields Modifier and Type Field Description static org.osgi.resource.Resource
DUMMY_RESOURCE
static java.util.Comparator<? super org.osgi.resource.Resource>
IDENTITY_VERSION_COMPARATOR
A comparator that compares the identity versionsstatic java.util.Comparator<org.osgi.resource.Requirement>
REQUIREMENT_COMPARATOR
static java.lang.String
WORKSPACE_NAMESPACE
-
Constructor Summary
Constructors Constructor Description ResourceUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends org.osgi.resource.Capability>
Tas(org.osgi.resource.Capability cap, java.lang.Class<T> type)
static <T extends org.osgi.resource.Requirement>
Tas(org.osgi.resource.Requirement req, java.lang.Class<T> type)
static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>>
voidcapabilitiesAccumulator(COLLECTION collection, CAPABILITY capability)
static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>>
COLLECTIONcapabilitiesCombiner(COLLECTION leftCollection, COLLECTION rightCollection)
static java.util.stream.Stream<org.osgi.resource.Capability>
capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace)
static <T extends org.osgi.resource.Capability>
java.util.stream.Stream<T>capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace, java.lang.Class<T> type)
static int
compareTo(org.osgi.resource.Resource a, org.osgi.resource.Resource b)
Compare two resources.static org.osgi.resource.Requirement
createWildcardRequirement()
static java.util.Map<org.osgi.resource.Requirement,java.util.Collection<org.osgi.resource.Capability>>
emptyProviders(java.util.Collection<? extends org.osgi.resource.Requirement> requirements)
static java.util.function.Predicate<org.osgi.resource.Capability>
filterMatcher(org.osgi.resource.Requirement requirement)
static java.util.function.Predicate<org.osgi.resource.Capability>
filterMatcher(org.osgi.resource.Requirement requirement, java.util.function.Function<java.lang.String,java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>>> filter)
static java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>>
filterPredicate(java.lang.String filterString)
static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>>
java.util.Map<org.osgi.resource.Requirement,java.util.Collection<org.osgi.resource.Capability>>findProviders(java.util.Collection<? extends org.osgi.resource.Requirement> requirements, java.util.function.Function<? super org.osgi.resource.Requirement,COLLECTION> provider)
static java.util.List<org.osgi.resource.Capability>
findProviders(org.osgi.resource.Requirement requirement, java.util.Collection<? extends org.osgi.resource.Capability> capabilities)
static java.util.Set<org.osgi.resource.Resource>
getAllResources(org.osgi.service.repository.Repository repository)
Return all resources from a repository as returned by the wildcard requirement, seecreateWildcardRequirement()
static ResourceUtils.BundleCap
getBundleCapability(org.osgi.resource.Resource resource)
static BundleId
getBundleId(org.osgi.resource.Resource resource)
static java.util.List<ResourceUtils.ContentCapability>
getContentCapabilities(org.osgi.resource.Resource resource)
static ResourceUtils.ContentCapability
getContentCapability(org.osgi.resource.Resource resource)
static java.lang.String
getEffective(java.util.Map<java.lang.String,java.lang.String> directives)
static java.lang.String
getIdentity(org.osgi.resource.Capability identityCapability)
static java.lang.String
getIdentity(org.osgi.resource.Resource resource)
static ResourceUtils.IdentityCapability
getIdentityCapability(org.osgi.resource.Resource resource)
static java.lang.String
getIdentityVersion(org.osgi.resource.Resource resource)
static java.util.Map<org.osgi.resource.Resource,java.util.List<org.osgi.resource.Capability>>
getIndexedByResource(java.util.Collection<? extends org.osgi.resource.Capability> providers)
static java.util.Map<java.net.URI,java.lang.String>
getLocations(org.osgi.resource.Resource resource)
static ResolutionDirective
getResolution(org.osgi.resource.Requirement requirement)
static java.util.Set<org.osgi.resource.Resource>
getResources(java.util.Collection<? extends org.osgi.resource.Capability> providers)
static java.net.URI
getURI(org.osgi.resource.Capability contentCapability)
static java.util.Optional<java.net.URI>
getURI(org.osgi.resource.Resource resource)
static Version
getVersion(org.osgi.resource.Capability cap)
static Version
getVersion(org.osgi.resource.Resource resource)
static java.lang.String
getVersionAttributeForNamespace(java.lang.String namespace)
static boolean
isEffective(org.osgi.resource.Requirement r, org.osgi.resource.Capability c)
static boolean
isFragment(org.osgi.resource.Resource resource)
static boolean
isInitialRequirement(org.osgi.resource.Resource resource)
static java.util.function.Predicate<org.osgi.resource.Capability>
matcher(org.osgi.resource.Requirement requirement)
static java.util.function.Predicate<org.osgi.resource.Capability>
matcher(org.osgi.resource.Requirement requirement, java.util.function.Function<java.lang.String,java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>>> filter)
static boolean
matches(org.osgi.resource.Requirement requirement, org.osgi.resource.Capability capability)
static boolean
matches(org.osgi.resource.Requirement requirement, org.osgi.resource.Resource resource)
static java.util.List<org.osgi.resource.Resource>
sort(java.util.Collection<org.osgi.resource.Resource> resources)
static java.util.List<org.osgi.resource.Resource>
sortByNameVersion(java.util.Collection<org.osgi.resource.Resource> resources)
Sort the resources by symbolic name and versionstatic java.lang.String
stripDirective(java.lang.String name)
static <CAPABILITY extends org.osgi.resource.Capability>
java.util.stream.Collector<CAPABILITY,java.util.List<CAPABILITY>,java.util.List<CAPABILITY>>toCapabilities()
static java.lang.String
toProvideCapability(org.osgi.resource.Capability capability)
static java.lang.String
toRequireCapability(org.osgi.resource.Requirement requirement)
static Version
toVersion(java.lang.Object v)
static VersionedClause
toVersionClause(org.osgi.resource.Resource resource)
Create a VersionedClause by applying a version range mask to the resource! Masks are defined byMacro._range(String[])
.static VersionedClause
toVersionClause(org.osgi.resource.Resource resource, java.lang.String mask)
static java.util.List<VersionedClause>
toVersionedClauses(java.util.Collection<org.osgi.resource.Resource> resources)
-
-
-
Field Detail
-
REQUIREMENT_COMPARATOR
public static final java.util.Comparator<org.osgi.resource.Requirement> REQUIREMENT_COMPARATOR
-
IDENTITY_VERSION_COMPARATOR
public static final java.util.Comparator<? super org.osgi.resource.Resource> IDENTITY_VERSION_COMPARATOR
A comparator that compares the identity versions
-
DUMMY_RESOURCE
public static final org.osgi.resource.Resource DUMMY_RESOURCE
-
WORKSPACE_NAMESPACE
public static final java.lang.String WORKSPACE_NAMESPACE
- See Also:
- Constant Field Values
-
-
Method Detail
-
capabilityStream
public static java.util.stream.Stream<org.osgi.resource.Capability> capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace)
-
capabilityStream
public static <T extends org.osgi.resource.Capability> java.util.stream.Stream<T> capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace, java.lang.Class<T> type)
-
getContentCapability
public static ResourceUtils.ContentCapability getContentCapability(org.osgi.resource.Resource resource)
-
getURI
public static java.util.Optional<java.net.URI> getURI(org.osgi.resource.Resource resource)
-
getContentCapabilities
public static java.util.List<ResourceUtils.ContentCapability> getContentCapabilities(org.osgi.resource.Resource resource)
-
getIdentityCapability
public static ResourceUtils.IdentityCapability getIdentityCapability(org.osgi.resource.Resource resource)
-
getBundleId
public static BundleId getBundleId(org.osgi.resource.Resource resource)
-
getIdentityVersion
public static java.lang.String getIdentityVersion(org.osgi.resource.Resource resource)
-
getBundleCapability
public static ResourceUtils.BundleCap getBundleCapability(org.osgi.resource.Resource resource)
-
toVersion
public static Version toVersion(java.lang.Object v)
-
getVersion
public static Version getVersion(org.osgi.resource.Capability cap)
-
getURI
public static java.net.URI getURI(org.osgi.resource.Capability contentCapability)
-
getVersionAttributeForNamespace
public static java.lang.String getVersionAttributeForNamespace(java.lang.String namespace)
-
as
public static <T extends org.osgi.resource.Capability> T as(org.osgi.resource.Capability cap, java.lang.Class<T> type)
-
as
public static <T extends org.osgi.resource.Requirement> T as(org.osgi.resource.Requirement req, java.lang.Class<T> type)
-
getResources
public static java.util.Set<org.osgi.resource.Resource> getResources(java.util.Collection<? extends org.osgi.resource.Capability> providers)
-
getIndexedByResource
public static java.util.Map<org.osgi.resource.Resource,java.util.List<org.osgi.resource.Capability>> getIndexedByResource(java.util.Collection<? extends org.osgi.resource.Capability> providers)
-
createWildcardRequirement
public static org.osgi.resource.Requirement createWildcardRequirement()
-
isEffective
public static boolean isEffective(org.osgi.resource.Requirement r, org.osgi.resource.Capability c)
-
filterPredicate
public static java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>> filterPredicate(java.lang.String filterString)
-
matches
public static boolean matches(org.osgi.resource.Requirement requirement, org.osgi.resource.Resource resource)
-
matches
public static boolean matches(org.osgi.resource.Requirement requirement, org.osgi.resource.Capability capability)
-
matcher
public static java.util.function.Predicate<org.osgi.resource.Capability> matcher(org.osgi.resource.Requirement requirement)
-
matcher
public static java.util.function.Predicate<org.osgi.resource.Capability> matcher(org.osgi.resource.Requirement requirement, java.util.function.Function<java.lang.String,java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>>> filter)
-
filterMatcher
public static java.util.function.Predicate<org.osgi.resource.Capability> filterMatcher(org.osgi.resource.Requirement requirement)
-
filterMatcher
public static java.util.function.Predicate<org.osgi.resource.Capability> filterMatcher(org.osgi.resource.Requirement requirement, java.util.function.Function<java.lang.String,java.util.function.Predicate<java.util.Map<java.lang.String,java.lang.Object>>> filter)
-
getEffective
public static java.lang.String getEffective(java.util.Map<java.lang.String,java.lang.String> directives)
-
getResolution
public static ResolutionDirective getResolution(org.osgi.resource.Requirement requirement)
-
toRequireCapability
public static java.lang.String toRequireCapability(org.osgi.resource.Requirement requirement) throws java.lang.Exception
- Throws:
java.lang.Exception
-
toProvideCapability
public static java.lang.String toProvideCapability(org.osgi.resource.Capability capability) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getLocations
public static java.util.Map<java.net.URI,java.lang.String> getLocations(org.osgi.resource.Resource resource)
-
findProviders
public static java.util.List<org.osgi.resource.Capability> findProviders(org.osgi.resource.Requirement requirement, java.util.Collection<? extends org.osgi.resource.Capability> capabilities)
-
isFragment
public static boolean isFragment(org.osgi.resource.Resource resource)
-
stripDirective
public static java.lang.String stripDirective(java.lang.String name)
-
getIdentity
public static java.lang.String getIdentity(org.osgi.resource.Capability identityCapability) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
getIdentity
public static java.lang.String getIdentity(org.osgi.resource.Resource resource) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
getVersion
public static Version getVersion(org.osgi.resource.Resource resource) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
toVersionClause
public static VersionedClause toVersionClause(org.osgi.resource.Resource resource)
Create a VersionedClause by applying a version range mask to the resource! Masks are defined byMacro._range(String[])
. If the resource should represent a project in the bnd workspace, then instead the VersionClause will refer to it as a snapshot version: e.g.;version=snapshot
-
toVersionClause
public static VersionedClause toVersionClause(org.osgi.resource.Resource resource, java.lang.String mask)
-
toVersionedClauses
public static java.util.List<VersionedClause> toVersionedClauses(java.util.Collection<org.osgi.resource.Resource> resources)
-
getAllResources
public static java.util.Set<org.osgi.resource.Resource> getAllResources(org.osgi.service.repository.Repository repository)
Return all resources from a repository as returned by the wildcard requirement, seecreateWildcardRequirement()
- Parameters:
repository
- the repository to use- Returns:
- a set of resources from the repository.
-
compareTo
public static int compareTo(org.osgi.resource.Resource a, org.osgi.resource.Resource b)
Compare two resources. This can be used to act as a comparator. The comparison is first done on name and then version.- Parameters:
a
- the left resourceb
- the right resource- Returns:
- 0 if equal bame and version, 1 if left has a higher name or same name and higher version, -1 otherwise
-
sort
public static java.util.List<org.osgi.resource.Resource> sort(java.util.Collection<org.osgi.resource.Resource> resources)
-
sortByNameVersion
public static java.util.List<org.osgi.resource.Resource> sortByNameVersion(java.util.Collection<org.osgi.resource.Resource> resources)
Sort the resources by symbolic name and version- Parameters:
resources
- the set of resources to sort- Returns:
- a sorted set of resources
-
isInitialRequirement
public static boolean isInitialRequirement(org.osgi.resource.Resource resource)
-
toCapabilities
public static <CAPABILITY extends org.osgi.resource.Capability> java.util.stream.Collector<CAPABILITY,java.util.List<CAPABILITY>,java.util.List<CAPABILITY>> toCapabilities()
-
capabilitiesAccumulator
public static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>> void capabilitiesAccumulator(COLLECTION collection, CAPABILITY capability)
-
capabilitiesCombiner
public static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>> COLLECTION capabilitiesCombiner(COLLECTION leftCollection, COLLECTION rightCollection)
-
findProviders
public static <CAPABILITY extends org.osgi.resource.Capability,COLLECTION extends java.util.Collection<CAPABILITY>> java.util.Map<org.osgi.resource.Requirement,java.util.Collection<org.osgi.resource.Capability>> findProviders(java.util.Collection<? extends org.osgi.resource.Requirement> requirements, java.util.function.Function<? super org.osgi.resource.Requirement,COLLECTION> provider)
-
emptyProviders
public static java.util.Map<org.osgi.resource.Requirement,java.util.Collection<org.osgi.resource.Capability>> emptyProviders(java.util.Collection<? extends org.osgi.resource.Requirement> requirements)
-
-