Class RequirementImpl

All Implemented Interfaces:
org.osgi.resource.Requirement

public class RequirementImpl extends AbstractCapabilityRequirement implements org.osgi.resource.Requirement
Implementation of the OSGi Requirement interface.
  • Field Details

    • filter

      private final SimpleFilter filter
    • optional

      private final boolean optional
  • Constructor Details

    • RequirementImpl

      public RequirementImpl(org.osgi.resource.Resource res, String ns, Map<String,String> dirs, Map<String,Object> attrs)
      Create a requirement.
      Parameters:
      res - The resource associated with the requirement.
      ns - The namespace of the requirement.
      dirs - The directives of the requirement.
      attrs - The attributes of the requirement.
    • RequirementImpl

      public RequirementImpl(org.osgi.resource.Resource res, String ns, String filter)
      Create a requirement with a namespace and a filter. This is a convenience method that creates a requirement with an empty attributes map and a single 'filter' directive.
      Parameters:
      res - The resource associated with the requirement.
      ns - The namespace for the requirement.
      filter - The filter.
    • RequirementImpl

      public RequirementImpl(org.osgi.resource.Resource resource, org.osgi.resource.Requirement requirement)
      Create a requirement based on an existing requirement, providing the resource. The namespace, attributes and directives are copied from the provided requirement.
      Parameters:
      resource - The resource to be associated with the requirement
      requirement - The requirement to base the new requirement on.
    • RequirementImpl

      public RequirementImpl(org.osgi.resource.Resource resource, String path, Map<String,String> dirs, Map<String,Object> attrs, SimpleFilter sf)
  • Method Details

    • matches

      public boolean matches(org.osgi.resource.Capability cap)
    • isOptional

      public boolean isOptional()
    • getFilter

      public SimpleFilter getFilter()
    • isOptional

      public static boolean isOptional(org.osgi.resource.Requirement requirement)
      Utility method to check whether a requirement is optional. This method works with any object implementing the requirement interface.
      Parameters:
      requirement - A requirement
      Returns:
      true if the requirement it optional, false otherwise.
    • getFilter

      public static SimpleFilter getFilter(org.osgi.resource.Requirement requirement)
      Utility method to obtain a SimpleFilter from a given requirement. If the requirement contains a Constants.FILTER_DIRECTIVE directive, it will be used, else, the filter will be derived from the attributes.
      Parameters:
      requirement - A requirement
      Returns:
      a valid filter, never null.
    • getFilter

      private static SimpleFilter getFilter(Map<String,String> directives, Map<String,Object> attributes)