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 interfaceResourceUtils.BundleCapstatic interfaceResourceUtils.ContentCapabilitystatic interfaceResourceUtils.IdentityCapability
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Collection<org.osgi.resource.Requirement>allprivate static java.util.regex.PatternATTR_NAMEprivate static Convertercnvstatic org.osgi.resource.ResourceDUMMY_RESOURCEstatic java.util.Comparator<? super org.osgi.resource.Resource>IDENTITY_VERSION_COMPARATORA comparator that compares the identity versionsprivate static java.util.Comparator<java.lang.Comparable>nullsFirstprivate static java.util.Comparator<? super org.osgi.resource.Resource>RESOURCE_COMPARATORstatic java.lang.StringWORKSPACE_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 intcompareTo(org.osgi.resource.Resource a, org.osgi.resource.Resource b)Compare two resources.static org.osgi.resource.RequirementcreateWildcardRequirement()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 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.Objectget(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.BundleCapgetBundleCapability(org.osgi.resource.Resource resource)static BundleIdgetBundleId(org.osgi.resource.Resource resource)static java.util.List<ResourceUtils.ContentCapability>getContentCapabilities(org.osgi.resource.Resource resource)static ResourceUtils.ContentCapabilitygetContentCapability(org.osgi.resource.Resource resource)static java.lang.StringgetEffective(java.util.Map<java.lang.String,java.lang.String> directives)static java.lang.StringgetIdentity(org.osgi.resource.Capability identityCapability)static ResourceUtils.IdentityCapabilitygetIdentityCapability(org.osgi.resource.Resource resource)static java.lang.StringgetIdentityVersion(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 ResolutionDirectivegetResolution(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.URIgetURI(org.osgi.resource.Capability contentCapability)static java.util.Optional<java.net.URI>getURI(org.osgi.resource.Resource resource)private static java.lang.ObjectgetValue(java.util.Map<java.lang.String,?> attrs, java.lang.String name)static VersiongetVersion(org.osgi.resource.Capability cap)static java.lang.StringgetVersionAttributeForNamespace(java.lang.String namespace)static booleanisEffective(org.osgi.resource.Requirement r, org.osgi.resource.Capability c)static booleanisFragment(org.osgi.resource.Resource resource)static booleanisInitialRequirement(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 booleanmatches(org.osgi.resource.Requirement requirement, org.osgi.resource.Capability capability)static booleanmatches(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.StringstripDirective(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.StringtoProvideCapability(org.osgi.resource.Capability capability)static java.lang.StringtoRequireCapability(org.osgi.resource.Requirement requirement)static VersiontoVersion(java.lang.Object v)static VersionedClausetoVersionClause(org.osgi.resource.Resource resource)Create a VersionedClause by applying a version range mask to the resource! Masks are defined byMacro._range(String[]).static VersionedClausetoVersionClause(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
-
ATTR_NAME
private static final java.util.regex.Pattern ATTR_NAME
-
all
private static final java.util.Collection<org.osgi.resource.Requirement> all
-
nullsFirst
private static final java.util.Comparator<java.lang.Comparable> nullsFirst
-
-
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)
-
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
-
getValue
private static java.lang.Object getValue(java.util.Map<java.lang.String,?> attrs, java.lang.String name)
-
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)
-
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)
-
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
-
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)
-
-