org.apache.catalina.util

## Class ExtensionValidator

- java.lang.Object
- - org.apache.catalina.util.ExtensionValidator

-     public final class ExtensionValidator
      extends Object

  Ensures that all extension dependencies are resolved for a WEB application are met. This class builds a master list of extensions available to an application and then validates those extensions. See http://docs.oracle.com/javase/1.4.2/docs/guide/extensions/spec.html for a detailed explanation of the extension mechanism in Java.
  Author:
    Greg Murray, Justyna Horwat

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExtensionValidator()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addSystemResource(File jarFile)` Checks to see if the given system JAR file contains a MANIFEST, and adds it to the container's manifest resources.
    `static boolean` | `validateApplication(WebResourceRoot resources, Context context)` Runtime validation of a Web Application.

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

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

- - ### Constructor Detail

    - #### ExtensionValidator

          public ExtensionValidator()

  - ### Method Detail

    - #### validateApplication

          public static boolean validateApplication(WebResourceRoot resources,
                                    Context context)
                                             throws IOException

      Runtime validation of a Web Application. This method uses JNDI to look up the resources located under a `DirContext`. It locates Web Application MANIFEST.MF file in the /META-INF/ directory of the application and all MANIFEST.MF files in each JAR file located in the WEB-INF/lib directory and creates an `ArrayList` of `ManifestResource` objects. These objects are then passed to the validateManifestResources method for validation.
      Parameters:
        `resources` - The resources configured for this Web Application
        `context` - The context from which the Logger and path to the application
      Returns:
        true if all required extensions satisfied
      Throws:
        `IOException` - Error reading resources needed for validation

    - #### addSystemResource

          public static void addSystemResource(File jarFile)
                                        throws IOException

      Checks to see if the given system JAR file contains a MANIFEST, and adds it to the container's manifest resources.
      Parameters:
        `jarFile` - The system JAR whose manifest to add
      Throws:
        `IOException` - Error reading JAR file

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