Package aQute.bnd.osgi.resource
Class CapReqBuilder
java.lang.Object
aQute.bnd.osgi.resource.CapReqBuilder
- Direct Known Subclasses:
CapabilityBuilder
,RequirementBuilder
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCapReqBuilder
(String namespace) CapReqBuilder
(String namespace, Attrs attrs) CapReqBuilder
(org.osgi.resource.Resource resource, String namespace) -
Method Summary
Modifier and TypeMethodDescriptionaddAttribute
(String name, Object value) addAttributes
(Attrs attrs) In bnd, we use one map for both directives & attributes.addAttributes
(Map<? extends String, ? extends Object> attributes) void
addAttributesOrDirectives
(Attrs attrs) In bnd, we use one map for both directives & attributes.addDirective
(String name, String value) addDirectives
(Attrs directives) addDirectives
(Map<String, String> directives) void
void
private static void
appendFilterEquals
(StringBuilder filter, String name, String value) private static void
appendFilterVersionRange
(StringBuilder filter, String name, String versionRange) org.osgi.resource.Capability
org.osgi.resource.Requirement
org.osgi.resource.Capability
org.osgi.resource.Requirement
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
(String name, String versionRange) static CapReqBuilder
createCapReqBuilder
(String namespace, Attrs attrs) static CapabilityBuilder
createPackageCapability
(String name, Attrs attrs, String bundle_symbolic_name, org.osgi.framework.Version bundle_version) static RequirementBuilder
createPackageRequirement
(String name, Attrs attrs, String versionRange) static CapReqBuilder
createPackageRequirement
(String name, String versionRange) static RequirementBuilder
createRequirementFromCapability
(org.osgi.resource.Capability capability) static RequirementBuilder
static CapReqBuilder
createSimpleRequirement
(String namespace, String name, String versionRange) 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.private static StringBuilder
escapeFilterValue
(StringBuilder sb, String value) from
(org.osgi.resource.Capability capability) from
(org.osgi.resource.Requirement requirement) static List<org.osgi.resource.Capability>
static org.osgi.resource.Capability
getCapabilityFrom
(String namespace, Attrs attrs) static org.osgi.resource.Requirement
getRequirementFrom
(String namespace, Attrs attrs) static org.osgi.resource.Requirement
getRequirementFrom
(String namespace, Attrs attrs, boolean unalias) static List<org.osgi.resource.Requirement>
Equivalent togetRequirementsFrom(rr, true)
.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.org.osgi.resource.Resource
boolean
hasAttribute
(String name) boolean
hasDirective
(String name) boolean
isBundle()
boolean
boolean
boolean
isEE()
boolean
boolean
isHost()
boolean
boolean
boolean
boolean
private boolean
removeAttribute
(String name) removeDirective
(String name) setResource
(org.osgi.resource.Resource resource) toAttrs()
private Object
toBndVersions
(Object value) private CharSequence
toString()
private Object
toVersions
(Object value) static org.osgi.resource.Requirement
unalias
(org.osgi.resource.Requirement requirement) Convert an alias requirement to its canonical form.
-
Field Details
-
REQ_ALIAS_IDENTITY
- See Also:
-
REQ_ALIAS_IDENTITY_NAME_ATTRIB
- See Also:
-
REQ_ALIAS_IDENTITY_VERSION_ATTRIB
- See Also:
-
REQ_ALIAS_LITERAL
- See Also:
-
REQ_ALIAS_LITERAL_ATTRIB
- See Also:
-
namespace
-
resource
private org.osgi.resource.Resource resource -
attributes
-
directives
-
-
Constructor Details
-
CapReqBuilder
-
CapReqBuilder
-
CapReqBuilder
-
-
Method Details
-
clone
-
clone
-
getNamespace
-
getResource
public org.osgi.resource.Resource getResource() -
setResource
-
addAttribute
-
hasAttribute
-
removeAttribute
-
isVersion
-
isVersion
-
addAttributes
-
addDirective
-
hasDirective
-
removeDirective
-
addDirectives
-
addDirectives
-
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
-
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
-
createSimpleRequirement
public static CapReqBuilder createSimpleRequirement(String namespace, String name, String versionRange) -
createServiceRequirement
-
and
-
or
-
not
-
toFilter
-
filter
-
getRequirementsFrom
Equivalent togetRequirementsFrom(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
-
getRequirementFrom
-
createCapReqBuilder
-
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
-
getCapabilityFrom
-
from
-
from
-
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
In bnd, we use one map for both directives & attributes. This method will properly dispatch them AND take care of typing- Parameters:
attrs
-
-
addAttributes
In bnd, we use one map for both directives & attributes. This method will ignore directives.- Parameters:
attrs
-
-
addFilter
-
appendFilterEquals
-
appendFilterVersionRange
private static void appendFilterVersionRange(StringBuilder filter, String name, String versionRange) -
escapeFilterValue
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
-
and
-
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
-
toBndVersions
-
toVersions
-
createRequirementFromCapability
public static RequirementBuilder createRequirementFromCapability(org.osgi.resource.Capability capability) -
toString
-