Package aQute.bnd.osgi.resource
Class CapReqBuilder
- java.lang.Object
-
- aQute.bnd.osgi.resource.CapReqBuilder
-
- Direct Known Subclasses:
CapabilityBuilder
,RequirementBuilder
public class CapReqBuilder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description CapReqBuilder(java.lang.String namespace)
CapReqBuilder(java.lang.String namespace, Attrs attrs)
CapReqBuilder(org.osgi.resource.Resource resource, java.lang.String namespace)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CapReqBuilder
addAttribute(java.lang.String name, java.lang.Object value)
CapReqBuilder
addAttributes(Attrs attrs)
In bnd, we use one map for both directives & attributes.CapReqBuilder
addAttributes(java.util.Map<? extends java.lang.String,? extends java.lang.Object> attributes)
void
addAttributesOrDirectives(Attrs attrs)
In bnd, we use one map for both directives & attributes.CapReqBuilder
addDirective(java.lang.String name, java.lang.String value)
CapReqBuilder
addDirectives(Attrs directives)
CapReqBuilder
addDirectives(java.util.Map<java.lang.String,java.lang.String> directives)
void
addFilter(java.lang.String nameAttr, java.lang.String name, java.lang.String versionRange, Attrs attrs)
java.lang.CharSequence
and(java.lang.Object... exprs)
void
and(java.lang.String... s)
org.osgi.resource.Capability
buildCapability()
org.osgi.resource.Requirement
buildRequirement()
org.osgi.resource.Capability
buildSyntheticCapability()
org.osgi.resource.Requirement
buildSyntheticRequirement()
static CapReqBuilder
clone(org.osgi.resource.Capability capability)
static CapReqBuilder
clone(org.osgi.resource.Requirement requirement)
static org.osgi.resource.Capability
copy(org.osgi.resource.Capability capability, org.osgi.resource.Resource resource)
static org.osgi.resource.Requirement
copy(org.osgi.resource.Requirement requirement, org.osgi.resource.Resource resource)
static CapReqBuilder
createBundleRequirement(java.lang.String name, java.lang.String versionRange)
static CapReqBuilder
createCapReqBuilder(java.lang.String namespace, Attrs attrs)
static CapabilityBuilder
createPackageCapability(java.lang.String name, Attrs attrs, java.lang.String bundle_symbolic_name, org.osgi.framework.Version bundle_version)
static RequirementBuilder
createPackageRequirement(java.lang.String name, Attrs attrs, java.lang.String versionRange)
static CapReqBuilder
createPackageRequirement(java.lang.String name, java.lang.String versionRange)
static RequirementBuilder
createRequirementFromCapability(org.osgi.resource.Capability capability)
static RequirementBuilder
createServiceRequirement(java.lang.String name)
static CapReqBuilder
createSimpleRequirement(java.lang.String namespace, java.lang.String name, java.lang.String versionRange)
static java.lang.String
escapeFilterValue(java.lang.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.CapReqBuilder
filter(java.lang.CharSequence f)
CapReqBuilder
from(org.osgi.resource.Capability capability)
CapReqBuilder
from(org.osgi.resource.Requirement requirement)
static java.util.List<org.osgi.resource.Capability>
getCapabilitiesFrom(Parameters rr)
static org.osgi.resource.Capability
getCapabilityFrom(java.lang.String namespace, Attrs attrs)
java.lang.String
getNamespace()
static org.osgi.resource.Requirement
getRequirementFrom(java.lang.String namespace, Attrs attrs)
static org.osgi.resource.Requirement
getRequirementFrom(java.lang.String namespace, Attrs attrs, boolean unalias)
static java.util.List<org.osgi.resource.Requirement>
getRequirementsFrom(Parameters rr)
Equivalent togetRequirementsFrom(rr, true)
.static java.util.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.org.osgi.resource.Resource
getResource()
boolean
hasAttribute(java.lang.String name)
boolean
hasDirective(java.lang.String name)
boolean
isBundle()
boolean
isContent()
boolean
isContract()
boolean
isEE()
boolean
isExtender()
boolean
isHost()
boolean
isIdentity()
boolean
isPackage()
boolean
isService()
boolean
isVersion(java.lang.Object value)
java.lang.CharSequence
not(java.lang.Object expr)
java.lang.CharSequence
or(java.lang.Object... exprs)
CapReqBuilder
removeAttribute(java.lang.String name)
CapReqBuilder
removeDirective(java.lang.String name)
CapReqBuilder
setResource(org.osgi.resource.Resource resource)
Attrs
toAttrs()
java.lang.String
toString()
static org.osgi.resource.Requirement
unalias(org.osgi.resource.Requirement requirement)
Convert an alias requirement to its canonical form.
-
-
-
Constructor Detail
-
CapReqBuilder
public CapReqBuilder(java.lang.String namespace)
-
CapReqBuilder
public CapReqBuilder(java.lang.String namespace, Attrs attrs)
-
CapReqBuilder
public CapReqBuilder(org.osgi.resource.Resource resource, java.lang.String namespace)
-
-
Method Detail
-
clone
public static CapReqBuilder clone(org.osgi.resource.Capability capability)
-
clone
public static CapReqBuilder clone(org.osgi.resource.Requirement requirement)
-
getNamespace
public java.lang.String getNamespace()
-
getResource
public org.osgi.resource.Resource getResource()
-
setResource
public CapReqBuilder setResource(org.osgi.resource.Resource resource)
-
addAttribute
public CapReqBuilder addAttribute(java.lang.String name, java.lang.Object value)
-
hasAttribute
public boolean hasAttribute(java.lang.String name)
-
removeAttribute
public CapReqBuilder removeAttribute(java.lang.String name)
-
isVersion
public boolean isVersion(java.lang.Object value)
-
addAttributes
public CapReqBuilder addAttributes(java.util.Map<? extends java.lang.String,? extends java.lang.Object> attributes)
-
addDirective
public CapReqBuilder addDirective(java.lang.String name, java.lang.String value)
-
hasDirective
public boolean hasDirective(java.lang.String name)
-
removeDirective
public CapReqBuilder removeDirective(java.lang.String name)
-
addDirectives
public CapReqBuilder addDirectives(Attrs directives)
-
addDirectives
public CapReqBuilder addDirectives(java.util.Map<java.lang.String,java.lang.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(java.lang.String name, java.lang.String versionRange)
-
createPackageRequirement
public static RequirementBuilder createPackageRequirement(java.lang.String name, Attrs attrs, java.lang.String versionRange)
-
createPackageCapability
public static CapabilityBuilder createPackageCapability(java.lang.String name, Attrs attrs, java.lang.String bundle_symbolic_name, org.osgi.framework.Version bundle_version)
-
createBundleRequirement
public static CapReqBuilder createBundleRequirement(java.lang.String name, java.lang.String versionRange)
-
createSimpleRequirement
public static CapReqBuilder createSimpleRequirement(java.lang.String namespace, java.lang.String name, java.lang.String versionRange)
-
createServiceRequirement
public static RequirementBuilder createServiceRequirement(java.lang.String name)
-
and
public java.lang.CharSequence and(java.lang.Object... exprs)
-
or
public java.lang.CharSequence or(java.lang.Object... exprs)
-
not
public java.lang.CharSequence not(java.lang.Object expr)
-
filter
public CapReqBuilder filter(java.lang.CharSequence f)
-
getRequirementsFrom
public static java.util.List<org.osgi.resource.Requirement> getRequirementsFrom(Parameters rr)
Equivalent togetRequirementsFrom(rr, true)
.- Parameters:
rr
-
-
getRequirementsFrom
public static java.util.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(java.lang.String namespace, Attrs attrs)
-
getRequirementFrom
public static org.osgi.resource.Requirement getRequirementFrom(java.lang.String namespace, Attrs attrs, boolean unalias)
-
createCapReqBuilder
public static CapReqBuilder createCapReqBuilder(java.lang.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 java.util.List<org.osgi.resource.Capability> getCapabilitiesFrom(Parameters rr)
-
getCapabilityFrom
public static org.osgi.resource.Capability getCapabilityFrom(java.lang.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(java.lang.String nameAttr, java.lang.String name, java.lang.String versionRange, Attrs attrs)
-
escapeFilterValue
public static java.lang.String escapeFilterValue(java.lang.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().
-
and
public void and(java.lang.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()
-
createRequirementFromCapability
public static RequirementBuilder createRequirementFromCapability(org.osgi.resource.Capability capability)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-