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 private static java.util.Collection<org.osgi.resource.Requirement>
all
private static Converter
cnv
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 versionsprivate static java.util.Comparator<? super org.osgi.resource.Resource>
RESOURCE_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)
private static java.util.stream.Stream<org.osgi.resource.Capability>
capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace)
private 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.List<org.osgi.resource.Capability>
findProviders(org.osgi.resource.Requirement requirement, java.util.Collection<? extends org.osgi.resource.Capability> capabilities)
private static java.lang.Object
get(java.lang.reflect.Method method, java.util.Map<java.lang.String,java.lang.Object> attrs, java.util.Map<java.lang.String,java.lang.String> directives, java.lang.Object[] args)
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 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 ResourceUtils.IdentityCapability
getIdentityCapability(org.osgi.resource.Resource resource)
static java.lang.String
getIdentityVersion(org.osgi.resource.Resource resource)
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)
private static java.util.Set<org.osgi.resource.Resource>
getResources(java.util.stream.Stream<? 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 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 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>
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 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
-
IDENTITY_VERSION_COMPARATOR
public static final java.util.Comparator<? super org.osgi.resource.Resource> IDENTITY_VERSION_COMPARATOR
A comparator that compares the identity versions
-
RESOURCE_COMPARATOR
private static final java.util.Comparator<? super org.osgi.resource.Resource> RESOURCE_COMPARATOR
-
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
-
cnv
private static final Converter cnv
-
all
private static final java.util.Collection<org.osgi.resource.Requirement> all
-
-
Method Detail
-
capabilityStream
private static java.util.stream.Stream<org.osgi.resource.Capability> capabilityStream(org.osgi.resource.Resource resource, java.lang.String namespace)
-
capabilityStream
private 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)
-
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 final 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)
-
get
private static java.lang.Object get(java.lang.reflect.Method method, java.util.Map<java.lang.String,java.lang.Object> attrs, java.util.Map<java.lang.String,java.lang.String> directives, java.lang.Object[] args) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getResources
public static java.util.Set<org.osgi.resource.Resource> getResources(java.util.Collection<? extends org.osgi.resource.Capability> providers)
-
getResources
private static java.util.Set<org.osgi.resource.Resource> getResources(java.util.stream.Stream<? 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)
-
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)
-
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
-
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
-
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)
-
-