Class PackageNamespace


public final class PackageNamespace extends AbstractWiringNamespace
Package Capability and Requirement Namespace.

A resource provides zero or more package capabilities (this is, exported packages) and requires zero or more package requirements (that is, imported packages).

This class defines the names for the attributes and directives for this namespace. All unspecified capability attributes are of type String and are used as arbitrary matching attributes for the capability. The values associated with the specified directive and attribute keys are of type String, unless otherwise indicated.

Unless otherwise noted, all directives specified on the Export-Package header are visible in the capability and all directives specified on the Import-Package and DynamicImport-Package headers are visible in the requirement.

  • The effective directives must be ignored. This namespace is only effective at resolve time. An effective directive specified on the Export-Package, Import-Package or DynamicImport-Package headers must be ignored. An effective directive must not be present in a capability or requirement.
  • The cardinality directive has limited applicability to this namespace. A cardinality directive specified on the Import-Package or DynamicImport-Package headers must be ignored. Only requirements with resolution set to dynamic and the package name contains a wildcard must have the cardinality directive set to multiple. Otherwise, a cardinality directive must not be present in a requirement.
  • Field Details

    • PACKAGE_NAMESPACE

      public static final String PACKAGE_NAMESPACE
      Namespace name for package capabilities and requirements.

      Also, the capability attribute used to specify the name of the package.

      See Also:
    • CAPABILITY_INCLUDE_DIRECTIVE

      public static final String CAPABILITY_INCLUDE_DIRECTIVE
      The capability directive used to specify the comma separated list of classes which must be allowed to be exported.
      See Also:
    • CAPABILITY_EXCLUDE_DIRECTIVE

      public static final String CAPABILITY_EXCLUDE_DIRECTIVE
      The capability directive used to specify the comma separated list of classes which must not be allowed to be exported.
      See Also:
    • CAPABILITY_VERSION_ATTRIBUTE

      public static final String CAPABILITY_VERSION_ATTRIBUTE
      The capability attribute contains the Version of the package if one is specified or 0.0.0 if not specified. The value of this attribute must be of type Version.
      See Also:
    • CAPABILITY_BUNDLE_SYMBOLICNAME_ATTRIBUTE

      public static final String CAPABILITY_BUNDLE_SYMBOLICNAME_ATTRIBUTE
      The capability attribute contains the symbolic name of the resource providing the package.
      See Also:
    • RESOLUTION_DYNAMIC

      public static final String RESOLUTION_DYNAMIC
      The directive value identifying a dynamic requirement resolution type. A dynamic resolution type indicates that the requirement is resolved dynamically at runtime (such as a dynamically imported package) and the resource will be resolved without the requirement being resolved.
      See Also: