Class ResourceUtils


  • public class ResourceUtils
    extends java.lang.Object
    • 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>
      T
      as​(org.osgi.resource.Capability cap, java.lang.Class<T> type)  
      static <T extends org.osgi.resource.Requirement>
      T
      as​(org.osgi.resource.Requirement req, java.lang.Class<T> type)  
      static <CAPABILITY extends org.osgi.resource.Capability,​COLLECTION extends java.util.Collection<CAPABILITY>>
      void
      capabilitiesAccumulator​(COLLECTION collection, CAPABILITY capability)  
      static <CAPABILITY extends org.osgi.resource.Capability,​COLLECTION extends java.util.Collection<CAPABILITY>>
      COLLECTION
      capabilitiesCombiner​(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, see createWildcardRequirement()
      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 version
      static 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 by Macro._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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • ResourceUtils

        public ResourceUtils()
    • 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)
      • getURI

        public static java.util.Optional<java.net.URI> getURI​(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 by Macro._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, see createWildcardRequirement()
        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 resource
        b - 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)