Package org.apache.catalina.util

## Class Extension

- java.lang.Object
- - org.apache.catalina.util.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`.

  Author:
    Craig McClanahan, Justyna Horwat, Greg Murray

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Extension()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getExtensionName()` |
    `java.lang.String` | `getImplementationURL()` |
    `java.lang.String` | `getImplementationVendor()` |
    `java.lang.String` | `getImplementationVendorId()` |
    `java.lang.String` | `getImplementationVersion()` |
    `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.
    `boolean` | `isFulfilled()` |
    `void` | `setExtensionName​(java.lang.String extensionName)` |
    `void` | `setFulfilled​(boolean fulfilled)` |
    `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()` |

    - ### 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)

    - #### setFulfilled

          public void setFulfilled​(boolean fulfilled)

    - #### isFulfilled

          public boolean isFulfilled()

    - #### 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` - Extension of the required optional package
      Returns:
        `true` if the extension is satisfied

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`