public final class Specification 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 Package
Specification.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_TITLE
Manifest Attribute Name object for IMPLEMENTATION_TITLE.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_VENDOR
Manifest Attribute Name object for IMPLEMENTATION_VENDOR.
|
static java.util.jar.Attributes.Name |
IMPLEMENTATION_VERSION
Manifest Attribute Name object for IMPLEMENTATION_VERSION.
|
static Compatibility |
INCOMPATIBLE
This enum indicates that an extension is incompatible with
other Package Specification in ways other than other enums
indicate.
|
static Compatibility |
REQUIRE_IMPLEMENTATION_CHANGE
Enum indicating that extension requires an upgrade
of implementation to be compatible with other Package Specification.
|
static Compatibility |
REQUIRE_SPECIFICATION_UPGRADE
Enum indicating that extension requires an upgrade
of specification to be compatible with other Package Specification.
|
static Compatibility |
REQUIRE_VENDOR_SWITCH
Enum indicating that extension requires a vendor
switch to be compatible with other Package Specification.
|
static java.util.jar.Attributes.Name |
SPECIFICATION_TITLE
Manifest Attribute Name object for SPECIFICATION_TITLE.
|
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 |
---|
Specification(String specificationTitle,
String specificationVersion,
String specificationVendor,
String implementationTitle,
String implementationVersion,
String implementationVendor)
The constructor to create Package Specification object.
|
Specification(String specificationTitle,
String specificationVersion,
String specificationVendor,
String implementationTitle,
String implementationVersion,
String implementationVendor,
String[] sections)
The constructor to create Package Specification object.
|
Modifier and Type | Method and Description |
---|---|
Compatibility |
getCompatibilityWith(Specification other)
Return a Compatibility enum indicating the relationship of this
Package Specification with the specified
Extension . |
String |
getImplementationTitle()
Get the title of the specification.
|
String |
getImplementationVendor()
Get the vendor of the extensions implementation.
|
String |
getImplementationVersion()
Get the version of the implementation.
|
String[] |
getSections()
Return an array containing sections to which specification applies
or null if relevant to no sections.
|
static Specification[] |
getSpecifications(java.util.jar.Manifest manifest)
Return an array of
Package Specification objects. |
String |
getSpecificationTitle()
Get the title of the specification.
|
String |
getSpecificationVendor()
Get the vendor of the specification.
|
DeweyDecimal |
getSpecificationVersion()
Get the version of the specification.
|
boolean |
isCompatibleWith(Specification other)
Return
true if the specified package
is satisfied by this Specification . |
String |
toString()
Return a String representation of this object.
|
public static final Compatibility COMPATIBLE
public static final java.util.jar.Attributes.Name IMPLEMENTATION_TITLE
public static final java.util.jar.Attributes.Name IMPLEMENTATION_VENDOR
public static final java.util.jar.Attributes.Name IMPLEMENTATION_VERSION
public static final Compatibility INCOMPATIBLE
public static final Compatibility REQUIRE_IMPLEMENTATION_CHANGE
public static final Compatibility REQUIRE_SPECIFICATION_UPGRADE
public static final Compatibility REQUIRE_VENDOR_SWITCH
public static final java.util.jar.Attributes.Name SPECIFICATION_TITLE
public static final java.util.jar.Attributes.Name SPECIFICATION_VENDOR
public static final java.util.jar.Attributes.Name SPECIFICATION_VERSION
public Specification(String specificationTitle, String specificationVersion, String specificationVendor, String implementationTitle, String implementationVersion, String implementationVendor)
specificationTitle
- the name of specification.specificationVersion
- the specification Version.specificationVendor
- the specification Vendor.implementationTitle
- the title of implementation.implementationVersion
- the implementation Version.implementationVendor
- the implementation Vendor.public Specification(String specificationTitle, String specificationVersion, String specificationVendor, String implementationTitle, String implementationVersion, String implementationVendor, String[] sections)
specificationTitle
- the name of specification.specificationVersion
- the specification Version.specificationVendor
- the specification Vendor.implementationTitle
- the title of implementation.implementationVersion
- the implementation Version.implementationVendor
- the implementation Vendor.sections
- the sections/packages that Specification applies to.public Compatibility getCompatibilityWith(Specification other)
Package Specification
with the specified
Extension
.other
- the other specificationpublic String getImplementationTitle()
public String getImplementationVendor()
public String getImplementationVersion()
public String[] getSections()
public static Specification[] getSpecifications(java.util.jar.Manifest manifest) throws java.text.ParseException
Package Specification
objects.
If there are no such optional packages, a zero-length array is returned.manifest
- Manifest to be parsedjava.text.ParseException
- if the attributes of the specifications cannot
be parsed according to their expected formats.public String getSpecificationTitle()
public String getSpecificationVendor()
public DeweyDecimal getSpecificationVersion()
public boolean isCompatibleWith(Specification other)
true
if the specified package
is satisfied by this Specification
. Otherwise, return
false
.other
- the specification