Class CapReqBuilder

java.lang.Object
aQute.bnd.osgi.resource.CapReqBuilder
Direct Known Subclasses:
CapabilityBuilder, RequirementBuilder

public class CapReqBuilder extends Object
  • Field Details

  • Constructor Details

    • CapReqBuilder

      public CapReqBuilder(String namespace)
    • CapReqBuilder

      public CapReqBuilder(String namespace, Attrs attrs)
    • CapReqBuilder

      public CapReqBuilder(org.osgi.resource.Resource resource, String namespace)
  • Method Details

    • clone

      public static CapReqBuilder clone(org.osgi.resource.Capability capability)
    • clone

      public static CapReqBuilder clone(org.osgi.resource.Requirement requirement)
    • getNamespace

      public String getNamespace()
    • getResource

      public org.osgi.resource.Resource getResource()
    • setResource

      public CapReqBuilder setResource(org.osgi.resource.Resource resource)
    • addAttribute

      public CapReqBuilder addAttribute(String name, Object value)
    • hasAttribute

      public boolean hasAttribute(String name)
    • removeAttribute

      public CapReqBuilder removeAttribute(String name)
    • isVersion

      public boolean isVersion(Object value)
    • addAttributes

      public CapReqBuilder addAttributes(Map<? extends String,? extends Object> attributes)
    • addDirective

      public CapReqBuilder addDirective(String name, String value)
    • hasDirective

      public boolean hasDirective(String name)
    • removeDirective

      public CapReqBuilder removeDirective(String name)
    • addDirectives

      public CapReqBuilder addDirectives(Attrs directives)
    • addDirectives

      public CapReqBuilder addDirectives(Map<String,String> directives)
    • buildCapability

      public org.osgi.resource.Capability buildCapability()
    • buildSyntheticCapability

      public org.osgi.resource.Capability buildSyntheticCapability()
    • buildRequirement

      public org.osgi.resource.Requirement buildRequirement()
    • buildSyntheticRequirement

      public org.osgi.resource.Requirement buildSyntheticRequirement()
    • createPackageRequirement

      public static CapReqBuilder createPackageRequirement(String name, String versionRange)
    • createPackageRequirement

      public static RequirementBuilder createPackageRequirement(String name, Attrs attrs, String versionRange)
    • createPackageCapability

      public static CapabilityBuilder createPackageCapability(String name, Attrs attrs, String bundle_symbolic_name, org.osgi.framework.Version bundle_version)
    • createBundleRequirement

      public static CapReqBuilder createBundleRequirement(String name, String versionRange)
    • createSimpleRequirement

      public static CapReqBuilder createSimpleRequirement(String namespace, String name, String versionRange)
    • createServiceRequirement

      public static RequirementBuilder createServiceRequirement(String name)
    • and

      public CharSequence and(Object... exprs)
    • or

      public CharSequence or(Object... exprs)
    • not

      public CharSequence not(Object expr)
    • toFilter

      private CharSequence toFilter(Object expr)
    • filter

      public CapReqBuilder filter(CharSequence f)
    • getRequirementsFrom

      public static List<org.osgi.resource.Requirement> getRequirementsFrom(Parameters rr)
      Equivalent to getRequirementsFrom(rr, true).
      Parameters:
      rr -
    • getRequirementsFrom

      public static List<org.osgi.resource.Requirement> getRequirementsFrom(Parameters rr, boolean unalias)
      Parse requirements from a Parameters set in the form of an OSGi Require-Capability header.
      Parameters:
      rr - The Require-Capability header.
      unalias - Whether to unalias requirements. If false then an aliases such as "bundle; bsn=org.foo" will be returned as a raw Requirement in the unspecified namespace "bundle".
      Returns:
      The list of parsed requirements.
    • getRequirementFrom

      public static org.osgi.resource.Requirement getRequirementFrom(String namespace, Attrs attrs)
    • getRequirementFrom

      public static org.osgi.resource.Requirement getRequirementFrom(String namespace, Attrs attrs, boolean unalias)
    • createCapReqBuilder

      public static CapReqBuilder createCapReqBuilder(String namespace, Attrs attrs)
    • unalias

      public static org.osgi.resource.Requirement unalias(org.osgi.resource.Requirement requirement)
      Convert an alias requirement to its canonical form. For example: "bnd.identity; id=org.example; version='[1.0,2.0)'" will be converted to "osgi.identity; filter:='(&(osgi.identity=org.example)(version>=1.0)(!(version>=2.0)))'" Requirements that are not recognized as aliases will be returned unchanged.
    • getCapabilitiesFrom

      public static List<org.osgi.resource.Capability> getCapabilitiesFrom(Parameters rr)
    • getCapabilityFrom

      public static org.osgi.resource.Capability getCapabilityFrom(String namespace, Attrs attrs)
    • from

      public CapReqBuilder from(org.osgi.resource.Capability capability)
    • from

      public CapReqBuilder from(org.osgi.resource.Requirement requirement)
    • copy

      public static org.osgi.resource.Capability copy(org.osgi.resource.Capability capability, org.osgi.resource.Resource resource)
    • copy

      public static org.osgi.resource.Requirement copy(org.osgi.resource.Requirement requirement, org.osgi.resource.Resource resource)
    • addAttributesOrDirectives

      public void addAttributesOrDirectives(Attrs attrs)
      In bnd, we use one map for both directives & attributes. This method will properly dispatch them AND take care of typing
      Parameters:
      attrs -
    • addAttributes

      public CapReqBuilder addAttributes(Attrs attrs)
      In bnd, we use one map for both directives & attributes. This method will ignore directives.
      Parameters:
      attrs -
    • addFilter

      public void addFilter(String nameAttr, String name, String versionRange, Attrs attrs)
    • appendFilterEquals

      private static void appendFilterEquals(StringBuilder filter, String name, String value)
    • appendFilterVersionRange

      private static void appendFilterVersionRange(StringBuilder filter, String name, String versionRange)
    • escapeFilterValue

      public static String escapeFilterValue(String value)
      If value must contain one of the characters reverse solidus ('\' \), asterisk ('*' *), parentheses open ('(' () or parentheses close (')' )), then these characters should be preceded with the reverse solidus ('\' \) character. Spaces are significant in value. Space characters are defined by Character.isWhiteSpace().
    • escapeFilterValue

      private static StringBuilder escapeFilterValue(StringBuilder sb, String value)
    • and

      public void and(String... s)
    • isPackage

      public boolean isPackage()
    • isHost

      public boolean isHost()
    • isBundle

      public boolean isBundle()
    • isService

      public boolean isService()
    • isContract

      public boolean isContract()
    • isIdentity

      public boolean isIdentity()
    • isContent

      public boolean isContent()
    • isEE

      public boolean isEE()
    • isExtender

      public boolean isExtender()
    • toAttrs

      public Attrs toAttrs()
    • toBndVersions

      private Object toBndVersions(Object value)
    • toVersions

      private Object toVersions(Object value)
    • createRequirementFromCapability

      public static RequirementBuilder createRequirementFromCapability(org.osgi.resource.Capability capability)
    • toString

      public String toString()
      Overrides:
      toString in class Object