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 CapReqBuilderaddAttribute(java.lang.String name, java.lang.Object value)CapReqBuilderaddAttributes(Attrs attrs)In bnd, we use one map for both directives & attributes.CapReqBuilderaddAttributes(java.util.Map<? extends java.lang.String,? extends java.lang.Object> attributes)voidaddAttributesOrDirectives(Attrs attrs)In bnd, we use one map for both directives & attributes.CapReqBuilderaddDirective(java.lang.String name, java.lang.String value)CapReqBuilderaddDirectives(Attrs directives)CapReqBuilderaddDirectives(java.util.Map<java.lang.String,java.lang.String> directives)voidaddFilter(java.lang.String nameAttr, java.lang.String name, java.lang.String versionRange, Attrs attrs)java.lang.CharSequenceand(java.lang.Object... exprs)voidand(java.lang.String... s)org.osgi.resource.CapabilitybuildCapability()org.osgi.resource.RequirementbuildRequirement()org.osgi.resource.CapabilitybuildSyntheticCapability()org.osgi.resource.RequirementbuildSyntheticRequirement()static CapReqBuilderclone(org.osgi.resource.Capability capability)static CapReqBuilderclone(org.osgi.resource.Requirement requirement)static org.osgi.resource.Capabilitycopy(org.osgi.resource.Capability capability, org.osgi.resource.Resource resource)static org.osgi.resource.Requirementcopy(org.osgi.resource.Requirement requirement, org.osgi.resource.Resource resource)static CapReqBuildercreateBundleRequirement(java.lang.String name, java.lang.String versionRange)static CapReqBuildercreateCapReqBuilder(java.lang.String namespace, Attrs attrs)static CapabilityBuildercreatePackageCapability(java.lang.String name, Attrs attrs, java.lang.String bundle_symbolic_name, org.osgi.framework.Version bundle_version)static RequirementBuildercreatePackageRequirement(java.lang.String name, Attrs attrs, java.lang.String versionRange)static CapReqBuildercreatePackageRequirement(java.lang.String name, java.lang.String versionRange)static RequirementBuildercreateRequirementFromCapability(org.osgi.resource.Capability capability)static RequirementBuildercreateServiceRequirement(java.lang.String name)static CapReqBuildercreateSimpleRequirement(java.lang.String namespace, java.lang.String name, java.lang.String versionRange)static java.lang.StringescapeFilterValue(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.CapReqBuilderfilter(java.lang.CharSequence f)CapReqBuilderfrom(org.osgi.resource.Capability capability)CapReqBuilderfrom(org.osgi.resource.Requirement requirement)static java.util.List<org.osgi.resource.Capability>getCapabilitiesFrom(Parameters rr)static org.osgi.resource.CapabilitygetCapabilityFrom(java.lang.String namespace, Attrs attrs)java.lang.StringgetNamespace()static org.osgi.resource.RequirementgetRequirementFrom(java.lang.String namespace, Attrs attrs)static org.osgi.resource.RequirementgetRequirementFrom(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.ResourcegetResource()booleanhasAttribute(java.lang.String name)booleanhasDirective(java.lang.String name)booleanisBundle()booleanisContent()booleanisContract()booleanisEE()booleanisExtender()booleanisHost()booleanisIdentity()booleanisPackage()booleanisService()booleanisVersion(java.lang.Object value)java.lang.CharSequencenot(java.lang.Object expr)java.lang.CharSequenceor(java.lang.Object... exprs)CapReqBuilderremoveAttribute(java.lang.String name)CapReqBuilderremoveDirective(java.lang.String name)CapReqBuildersetResource(org.osgi.resource.Resource resource)AttrstoAttrs()java.lang.StringtoString()static org.osgi.resource.Requirementunalias(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:
toStringin classjava.lang.Object
-
-