# Class Extension

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

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

Modifier and Type
Method
Description
`String`
`getExtensionName()`
`String`
`getImplementationURL()`
`String`
`getImplementationVendor()`
`String`
`getImplementationVendorId()`
`String`
`getImplementationVersion()`
`String`
`getSpecificationVendor()`
`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(String extensionName)`
`void`
`setFulfilled(boolean fulfilled)`
`void`
`setImplementationURL(String implementationURL)`
`void`
`setImplementationVendor(String implementationVendor)`
`void`
`setImplementationVendorId(String implementationVendorId)`
`void`
`setImplementationVersion(String implementationVersion)`
`void`
`setSpecificationVendor(String specificationVendor)`
`void`
`setSpecificationVersion(String specificationVersion)`
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Extension

public Extension()

## Method Details

### getExtensionName

public String getExtensionName()

### setExtensionName

public void setExtensionName(String extensionName)

### getImplementationURL

public String getImplementationURL()

### setImplementationURL

public void setImplementationURL(String implementationURL)

### getImplementationVendor

public String getImplementationVendor()

### setImplementationVendor

public void setImplementationVendor(String implementationVendor)

### getImplementationVendorId

public String getImplementationVendorId()

### setImplementationVendorId

public void setImplementationVendorId(String implementationVendorId)

### getImplementationVersion

public String getImplementationVersion()

### setImplementationVersion

public void setImplementationVersion(String implementationVersion)

### getSpecificationVendor

public String getSpecificationVendor()

### setSpecificationVendor

public void setSpecificationVendor(String specificationVendor)

### getSpecificationVersion

public String getSpecificationVersion()

### setSpecificationVersion

public void setSpecificationVersion(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 String toString()

Overrides:
  `toString` in class `Object`