## org.apache.catalina.loader
Class Extension

    java.lang.Object
      org.apache.catalina.loader.Extension

public final class Extension
extends java.lang.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. It is used to support the requirements of the Servlet Specification, version 2.3, related to providing shared extensions to all webapps.

In addition, static utility methods are available to scan a manifest and return an array of either available or required optional modules documented in that manifest.

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`.

Version:
  $Revision: 466595 $ $Date: 2006-10-21 18:24:41 -0400 (Sat, 21 Oct 2006) $
Author:
  Craig R. McClanahan

Constructor Summary
`Extension()`

Method Summary
`static java.util.List` `getAvailable(java.util.jar.Manifest manifest)` Return the set of `Extension` objects representing optional packages that are available in the JAR file associated with the specified `Manifest`.
`java.lang.String` `getExtensionName()`
`java.lang.String` `getImplementationURL()`
`java.lang.String` `getImplementationVendor()`
`java.lang.String` `getImplementationVendorId()`
`java.lang.String` `getImplementationVersion()`
`static java.util.List` `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`.
`java.lang.String` `getSpecificationVendor()`
`java.lang.String` `getSpecificationVersion()`
`boolean` `isCompatibleWith(Extension required)` Return `true` if the specified `Extension` (which represents an optional package required by this application) is satisfied by this `Extension` (which represents an optional package that is already installed.
`void` `setExtensionName(java.lang.String extensionName)`
`void` `setImplementationURL(java.lang.String implementationURL)`
`void` `setImplementationVendor(java.lang.String implementationVendor)`
`void` `setImplementationVendorId(java.lang.String implementationVendorId)`
`void` `setImplementationVersion(java.lang.String implementationVersion)`
`void` `setSpecificationVendor(java.lang.String specificationVendor)`
`void` `setSpecificationVersion(java.lang.String specificationVersion)`
`java.lang.String` `toString()` Return a String representation of this object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### Extension

    public Extension()

Method Detail

### getExtensionName

    public java.lang.String getExtensionName()

### setExtensionName

    public void setExtensionName(java.lang.String extensionName)

### getImplementationURL

    public java.lang.String getImplementationURL()

### setImplementationURL

    public void setImplementationURL(java.lang.String implementationURL)

### getImplementationVendor

    public java.lang.String getImplementationVendor()

### setImplementationVendor

    public void setImplementationVendor(java.lang.String implementationVendor)

### getImplementationVendorId

    public java.lang.String getImplementationVendorId()

### setImplementationVendorId

    public void setImplementationVendorId(java.lang.String implementationVendorId)

### getImplementationVersion

    public java.lang.String getImplementationVersion()

### setImplementationVersion

    public void setImplementationVersion(java.lang.String implementationVersion)

### getSpecificationVendor

    public java.lang.String getSpecificationVendor()

### setSpecificationVendor

    public void setSpecificationVendor(java.lang.String specificationVendor)

### getSpecificationVersion

    public java.lang.String getSpecificationVersion()

### setSpecificationVersion

    public void setSpecificationVersion(java.lang.String specificationVersion)

### isCompatibleWith

    public boolean isCompatibleWith(Extension required)

  Return `true` if the specified `Extension` (which represents an optional package required by this application) is satisfied by this `Extension` (which represents an optional package that is already installed. Otherwise, return `false`.

  Parameters:
    `required` - Description of the required optional package

### toString

    public java.lang.String toString()

  Return a String representation of this object.

### getAvailable

    public static java.util.List getAvailable(java.util.jar.Manifest manifest)

  Return the set of `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 list is returned.

  Parameters:
    `manifest` - Manifest to be parsed

### getRequired

    public static java.util.List 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`. If there are no such optional packages, a zero-length list is returned.

  Parameters:
    `manifest` - Manifest to be parsed

Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.