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 ns, 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(java.util.Map<? extends java.lang.String,? extends java.lang.Object> attributes)voidaddAttributesOrDirectives(Attrs attrs)In bnd, we only 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 ns, java.lang.String name, java.lang.String version, 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 c, org.osgi.resource.Resource r)static org.osgi.resource.Requirementcopy(org.osgi.resource.Requirement c, org.osgi.resource.Resource r)static CapReqBuildercreateBundleRequirement(java.lang.String bsn, java.lang.String range)static CapReqBuildercreateCapReqBuilder(java.lang.String namespace, Attrs attrs)static CapReqBuildercreatePackageRequirement(java.lang.String pkgName, java.lang.String range)static RequirementBuildercreateRequirementFromCapability(org.osgi.resource.Capability cap)static CapReqBuildercreateSimpleRequirement(java.lang.String ns, java.lang.String name, java.lang.String range)static java.lang.StringescapeFilterValue(java.lang.String value)CapReqBuilderfilter(java.lang.CharSequence f)CapReqBuilderfrom(org.osgi.resource.Capability c)CapReqBuilderfrom(org.osgi.resource.Requirement r)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()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)CapReqBuildersetResource(org.osgi.resource.Resource resource)AttrstoAttrs()
-
-
-
Constructor Detail
-
CapReqBuilder
public CapReqBuilder(java.lang.String namespace)
-
CapReqBuilder
public CapReqBuilder(java.lang.String ns, Attrs attrs) throws java.lang.Exception- Throws:
java.lang.Exception
-
CapReqBuilder
public CapReqBuilder(org.osgi.resource.Resource resource, java.lang.String namespace)
-
-
Method Detail
-
clone
public static CapReqBuilder clone(org.osgi.resource.Capability capability) throws java.lang.Exception
- Throws:
java.lang.Exception
-
clone
public static CapReqBuilder clone(org.osgi.resource.Requirement requirement) throws java.lang.Exception
- Throws:
java.lang.Exception
-
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) throws java.lang.Exception
- Throws:
java.lang.Exception
-
isVersion
public boolean isVersion(java.lang.Object value)
-
addAttributes
public CapReqBuilder addAttributes(java.util.Map<? extends java.lang.String,? extends java.lang.Object> attributes) throws java.lang.Exception
- Throws:
java.lang.Exception
-
addDirective
public CapReqBuilder addDirective(java.lang.String name, java.lang.String value)
-
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 final CapReqBuilder createPackageRequirement(java.lang.String pkgName, java.lang.String range)
-
createBundleRequirement
public static CapReqBuilder createBundleRequirement(java.lang.String bsn, java.lang.String range)
-
createSimpleRequirement
public static CapReqBuilder createSimpleRequirement(java.lang.String ns, java.lang.String name, java.lang.String range)
-
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) throws java.lang.Exception
Equivalent togetRequirementsFrom(rr, true).- Parameters:
rr-- Throws:
java.lang.Exception
-
getRequirementsFrom
public static java.util.List<org.osgi.resource.Requirement> getRequirementsFrom(Parameters rr, boolean unalias) throws java.lang.Exception
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.
- Throws:
java.lang.Exception
-
getRequirementFrom
public static org.osgi.resource.Requirement getRequirementFrom(java.lang.String namespace, Attrs attrs) throws java.lang.Exception- Throws:
java.lang.Exception
-
getRequirementFrom
public static org.osgi.resource.Requirement getRequirementFrom(java.lang.String namespace, Attrs attrs, boolean unalias) throws java.lang.Exception- Throws:
java.lang.Exception
-
createCapReqBuilder
public static CapReqBuilder createCapReqBuilder(java.lang.String namespace, Attrs attrs) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getCapabilitiesFrom
public static java.util.List<org.osgi.resource.Capability> getCapabilitiesFrom(Parameters rr) throws java.lang.Exception
- Throws:
java.lang.Exception
-
getCapabilityFrom
public static org.osgi.resource.Capability getCapabilityFrom(java.lang.String namespace, Attrs attrs) throws java.lang.Exception- Throws:
java.lang.Exception
-
from
public CapReqBuilder from(org.osgi.resource.Capability c) throws java.lang.Exception
- Throws:
java.lang.Exception
-
from
public CapReqBuilder from(org.osgi.resource.Requirement r) throws java.lang.Exception
- Throws:
java.lang.Exception
-
copy
public static org.osgi.resource.Capability copy(org.osgi.resource.Capability c, org.osgi.resource.Resource r) throws java.lang.Exception- Throws:
java.lang.Exception
-
copy
public static org.osgi.resource.Requirement copy(org.osgi.resource.Requirement c, org.osgi.resource.Resource r) throws java.lang.Exception- Throws:
java.lang.Exception
-
addAttributesOrDirectives
public void addAttributesOrDirectives(Attrs attrs) throws java.lang.Exception
In bnd, we only use one map for both directives & attributes. This method will properly dispatch them AND take care of typing- Parameters:
attrs-- Throws:
java.lang.Exception
-
addFilter
public void addFilter(java.lang.String ns, java.lang.String name, java.lang.String version, Attrs attrs)
-
escapeFilterValue
public static java.lang.String escapeFilterValue(java.lang.String value)
-
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 cap)
-
-