public final class Extension extends Object
Utility class that represents either an available "Optional Package" (formerly known as "Standard Extension") as described in the manifest of a JAR file, or the requirement for such an optional package.
For more information about optional packages, see the document
Optional Package Versioning in the documentation bundle for your
Java2 Standard Edition package, in file
guide/extensions/versioning.html
.
Modifier and Type | Field and Description |
---|---|
static Compatibility |
COMPATIBLE
Enum indicating that extension is compatible with other extension.
|
static java.util.jar.Attributes.Name |
EXTENSION_LIST
Manifest Attribute Name object for EXTENSION_LIST.
|
static java.util.jar.Attributes.Name |
EXTENSION_NAME
Manifest Attribute Name object for EXTENSION_NAME.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_URL
Manifest Attribute Name object for IMPLEMENTATION_URL.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_VENDOR
Manifest Attribute Name object for IMPLEMENTATION_VENDOR.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_VENDOR_ID
Manifest Attribute Name object for IMPLEMENTATION_VENDOR_ID.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_VERSION
Manifest Attribute Name object for IMPLEMENTATION_VERSION.
|
static Compatibility |
INCOMPATIBLE
Enum indicating that extension is incompatible with
other extension in ways other than other enums
indicate).
|
static java.util.jar.Attributes.Name |
OPTIONAL_EXTENSION_LIST
Name object for Optional-Extension-List
manifest attribute used for declaring optional dependencies on
installed extensions. |
static Compatibility |
REQUIRE_IMPLEMENTATION_UPGRADE
Enum indicating that extension requires an upgrade
of implementation to be compatible with other extension.
|
static Compatibility |
REQUIRE_SPECIFICATION_UPGRADE
Enum indicating that extension requires an upgrade
of specification to be compatible with other extension.
|
static Compatibility |
REQUIRE_VENDOR_SWITCH
Enum indicating that extension requires a vendor
switch to be compatible with other extension.
|
static java.util.jar.Attributes.Name |
SPECIFICATION_VENDOR
Manifest Attribute Name object for SPECIFICATION_VENDOR.
|
static java.util.jar.Attributes.Name |
SPECIFICATION_VERSION
Manifest Attribute Name object for SPECIFICATION_VERSION.
|
Constructor and Description |
---|
Extension(String extensionName,
String specificationVersion,
String specificationVendor,
String implementationVersion,
String implementationVendor,
String implementationVendorId,
String implementationURL)
The constructor to create Extension object.
|
Modifier and Type | Method and Description |
---|---|
static void |
addExtension(Extension extension,
java.util.jar.Attributes attributes)
Add Extension to the specified manifest Attributes.
|
static void |
addExtension(Extension extension,
String prefix,
java.util.jar.Attributes attributes)
Add Extension to the specified manifest Attributes.
|
static Extension[] |
getAvailable(java.util.jar.Manifest manifest)
Return an array of
Extension objects representing optional
packages that are available in the JAR file associated with the
specified Manifest . |
Compatibility |
getCompatibilityWith(Extension required)
Return a Compatibility enum indicating the relationship of this
Extension with the specified Extension . |
String |
getExtensionName()
Get the name of the extension.
|
String |
getImplementationURL()
Get the url of the extensions implementation.
|
String |
getImplementationVendor()
Get the vendor of the extensions implementation.
|
String |
getImplementationVendorID()
Get the vendorID of the extensions implementation.
|
DeweyDecimal |
getImplementationVersion()
Get the version of the extensions implementation.
|
static Extension[] |
getOptions(java.util.jar.Manifest manifest)
Return the set of
Extension objects representing "Optional
Packages" that the application declares they will use if present. |
static Extension[] |
getRequired(java.util.jar.Manifest manifest)
Return the set of
Extension objects representing optional
packages that are required by the application contained in the JAR
file associated with the specified Manifest . |
String |
getSpecificationVendor()
Get the vendor of the extensions specification.
|
DeweyDecimal |
getSpecificationVersion()
Get the version of the extensions specification.
|
boolean |
isCompatibleWith(Extension required)
Return
true if the specified Extension
(which represents an optional package required by an application)
is satisfied by this Extension (which represents an
optional package that is already installed. |
String |
toString()
Return a String representation of this object.
|
public static final Compatibility COMPATIBLE
public static final java.util.jar.Attributes.Name EXTENSION_LIST
public static final java.util.jar.Attributes.Name EXTENSION_NAME
public static final java.util.jar.Attributes.Name IMPLEMENTATION_URL
public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR
public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR_ID
public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION
public static final Compatibility INCOMPATIBLE
public static final java.util.jar.Attributes.Name OPTIONAL_EXTENSION_LIST
Name
object for Optional-Extension-List
manifest attribute used for declaring optional dependencies on
installed extensions. Note that the dependencies declared by this method
are not required for the library to operate but if present will be used.
It is NOT part of the official "Optional Package" specification.public static final Compatibility REQUIRE_IMPLEMENTATION_UPGRADE
public static final Compatibility REQUIRE_SPECIFICATION_UPGRADE
public static final Compatibility REQUIRE_VENDOR_SWITCH
public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR
public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION
public Extension(String extensionName, String specificationVersion, String specificationVendor, String implementationVersion, String implementationVendor, String implementationVendorId, String implementationURL)
extensionName
- the name of extension.specificationVersion
- the specification Version of extension.specificationVendor
- the specification Vendor of extension.implementationVersion
- the implementation Version of extension.implementationVendor
- the implementation Vendor of extension.implementationVendorId
- the implementation VendorId of extension.implementationURL
- the implementation URL of extension.public static void addExtension(Extension extension, java.util.jar.Attributes attributes)
attributes
- the attributes of manifest to add toextension
- the extensionpublic static void addExtension(Extension extension, String prefix, java.util.jar.Attributes attributes)
attributes
- the attributes of manifest to add toextension
- the extensionprefix
- the name to prefix to extensionpublic static Extension[] getAvailable(java.util.jar.Manifest manifest)
Extension
objects representing optional
packages that are available in the JAR file associated with the
specified Manifest
. If there are no such optional
packages, a zero-length array is returned.manifest
- Manifest to be parsedpublic Compatibility getCompatibilityWith(Extension required)
Extension
with the specified Extension
.required
- Description of the required optional packagepublic String getExtensionName()
public String getImplementationURL()
public String getImplementationVendor()
public String getImplementationVendorID()
public DeweyDecimal getImplementationVersion()
public static Extension[] getOptions(java.util.jar.Manifest manifest)
Extension
objects representing "Optional
Packages" that the application declares they will use if present. If
there are no such optional packages, a zero-length list is returned.manifest
- Manifest to be parsedpublic static Extension[] getRequired(java.util.jar.Manifest manifest)
Extension
objects representing optional
packages that are required by the application contained in the JAR
file associated with the specified Manifest
. If there
are no such optional packages, a zero-length list is returned.manifest
- Manifest to be parsedpublic String getSpecificationVendor()
public DeweyDecimal getSpecificationVersion()
public boolean isCompatibleWith(Extension required)
true
if the specified Extension
(which represents an optional package required by an application)
is satisfied by this Extension
(which represents an
optional package that is already installed. Otherwise, return
false
.required
- Description of the required optional package