DynamicImport-Package ::= dynamic-description ( ',' dynamic-description )*
Header
-
Example:
DynamicImport-Package: com.acme.plugin.*
-
Values: ``
-
Pattern:
.*
Options
version
A version range to select the version of an export definition. The default value is 0.0.0.-
Example:
version="[1.2,3.0)"
-
Pattern:
((\(|\[)\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?,\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?(\]|\)))|\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?
-
bundle-symbolic-name
The bundle symbolic name of the exporting bundle.-
Example:
bundle-symbolic-name=com.acme.foo.daffy
-
Pattern:
[-\w]+(:?\.[-\w]+)*
-
bundle-version
A version range to select the bundle version of the exporting bundle. The default value is 0.0.0.-
Example:
bundle-version=1.3
-
Pattern:
((\(|\[)\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?,\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?(\]|\)))|\d{1,9}(\.\d{1,9}(\.\d{1,9}(\.[-\w]+)?)?)?
-
/**
* <pre>
* DynamicImport-Package ::= dynamic-description
* ( ',' dynamic-description )*
*
* dynamic-description::= wildcard-names ( ';' parameter )*
* wildcard-names ::= wildcard-name ( ';' wildcard-name )*
* wildcard-name ::= package-name
* | ( package-name '.*' ) // See 1.4.2
* | '*'
* </pre>
*/
private void verifyDynamicImportPackage() {
verifyListHeader(Constants.DYNAMICIMPORT_PACKAGE, WILDCARDPACKAGE, true);
String dynamicImportPackage = get(Constants.DYNAMICIMPORT_PACKAGE);
if (dynamicImportPackage == null)
return;
Parameters map = main.getDynamicImportPackage();
for (String name : map.keySet()) {
name = name.trim();
if (!verify(name, WILDCARDPACKAGE))
error(Constants.DYNAMICIMPORT_PACKAGE + " header contains an invalid package name: " + name);
Map<String,String> sub = map.get(name);
if (r3 && sub.size() != 0) {
error("DynamicPackage-Import has attributes on import: " + name
+ ". This is however, an <=R3 bundle and attributes on this header were introduced in R4. ");
}
}
}