Interface Repository


  • @ProviderType
    public interface Repository
    A repository service that contains 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.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String URL
      Service property to provide URLs related to this repository.
    • Field Detail

      • URL

        static final java.lang.String URL
        Service property to provide URLs related to this repository.

        The value of this property must be of type String, String[], or Collection<String>.

        See Also:
        Constant Field Values
    • Method Detail

      • findProviders

        java.util.Map<org.osgi.resource.Requirement,​java.util.Collection<org.osgi.resource.Capability>> findProviders​(java.util.Collection<? extends org.osgi.resource.Requirement> requirements)
        Find the capabilities that match the specified requirements.
        Parameters:
        requirements - The requirements for which matching capabilities should be returned. Must not be null.
        Returns:
        A map of matching capabilities for the specified requirements. Each specified requirement must appear as a key in the map. If there are no matching capabilities for a specified requirement, then the value in the map for the specified requirement must be an empty collection. The returned map is the property of the caller and can be modified by the caller. The returned map may be lazily populated, so calling size() may result in a long running operation.
      • findProviders

        Promise<java.util.Collection<org.osgi.resource.Resource>> findProviders​(RequirementExpression expression)
        Find the resources that match the specified requirement expression.
        Parameters:
        expression - The RequirementExpression for which matching capabilities should be returned. Must not be null.
        Returns:
        A promise to a collection of matching Resources. 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.
        Since:
        1.1
      • getExpressionCombiner

        ExpressionCombiner getExpressionCombiner()
        Return an expression combiner. An expression combiner can be used to combine multiple requirement expressions into more complex requirement expressions using and, or and not operators.
        Returns:
        An ExpressionCombiner.
        Since:
        1.1
      • newRequirementBuilder

        RequirementBuilder newRequirementBuilder​(java.lang.String namespace)
        Return a new 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();
         
        Parameters:
        namespace - The namespace for the requirement to be created.
        Returns:
        A new requirement builder for a requirement in the specified namespace.
        Since:
        1.1