Package org.apache.catalina.startup

## Class ExpandWar

- java.lang.Object
- - org.apache.catalina.startup.ExpandWar

-     public class ExpandWar
      extends java.lang.Object

  Expand out a WAR in a Host's appBase.
  Author:
    Craig R. McClanahan, Remy Maucherat, Glenn L. Nielsen

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected static StringManager` | `sm` | The string resources for this package.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static boolean` | `copy​(java.io.File src, java.io.File dest)` | Copy the specified file or directory to the destination.
    `static boolean` | `delete​(java.io.File dir)` | Delete the specified directory, including all of its contents and sub-directories recursively.
    `static boolean` | `delete​(java.io.File dir, boolean logFailure)` | Delete the specified directory, including all of its contents and sub-directories recursively.
    `static boolean` | `deleteDir​(java.io.File dir)` | Delete the specified directory, including all of its contents and sub-directories recursively.
    `static boolean` | `deleteDir​(java.io.File dir, boolean logFailure)` | Delete the specified directory, including all of its contents and sub-directories recursively.
    `static java.lang.String` | `expand​(Host host, java.net.URL war, java.lang.String pathname)` | Expand the WAR file found at the specified URL into an unpacked directory structure.
    `static void` | `validate​(Host host, java.net.URL war, java.lang.String pathname)` | Validate the WAR file found at the specified URL.

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

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

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

      The string resources for this package.

  - ### Constructor Detail

    - #### ExpandWar

          public ExpandWar()

  - ### Method Detail

    - #### expand

          public static java.lang.String expand​(Host host,
                                                java.net.URL war,
                                                java.lang.String pathname)
                                         throws java.io.IOException

      Expand the WAR file found at the specified URL into an unpacked directory structure.
      Parameters:
        `host` - Host war is being installed for
        `war` - URL of the web application archive to be expanded (must start with "jar:")
        `pathname` - Context path name for web application
      Returns:
        The absolute path to the expanded directory foe the given WAR
      Throws:
        `java.lang.IllegalArgumentException` - if this is not a "jar:" URL or if the WAR file is invalid
        `java.io.IOException` - if an input/output error was encountered during expansion

    - #### validate

          public static void validate​(Host host,
                                      java.net.URL war,
                                      java.lang.String pathname)
                               throws java.io.IOException

      Validate the WAR file found at the specified URL.
      Parameters:
        `host` - Host war is being installed for
        `war` - URL of the web application archive to be validated (must start with "jar:")
        `pathname` - Context path name for web application
      Throws:
        `java.lang.IllegalArgumentException` - if this is not a "jar:" URL or if the WAR file is invalid
        `java.io.IOException` - if an input/output error was encountered during validation

    - #### copy

          public static boolean copy​(java.io.File src,
                                     java.io.File dest)

      Copy the specified file or directory to the destination.
      Parameters:
        `src` - File object representing the source
        `dest` - File object representing the destination
      Returns:
        `true` if the copy was successful

    - #### delete

          public static boolean delete​(java.io.File dir)

      Delete the specified directory, including all of its contents and sub-directories recursively. Any failure will be logged.
      Parameters:
        `dir` - File object representing the directory to be deleted
      Returns:
        `true` if the deletion was successful

    - #### delete

          public static boolean delete​(java.io.File dir,
                                       boolean logFailure)

      Delete the specified directory, including all of its contents and sub-directories recursively.
      Parameters:
        `dir` - File object representing the directory to be deleted
        `logFailure` - `true` if failure to delete the resource should be logged
      Returns:
        `true` if the deletion was successful

    - #### deleteDir

          public static boolean deleteDir​(java.io.File dir)

      Delete the specified directory, including all of its contents and sub-directories recursively. Any failure will be logged.
      Parameters:
        `dir` - File object representing the directory to be deleted
      Returns:
        `true` if the deletion was successful

    - #### deleteDir

          public static boolean deleteDir​(java.io.File dir,
                                          boolean logFailure)

      Delete the specified directory, including all of its contents and sub-directories recursively.
      Parameters:
        `dir` - File object representing the directory to be deleted
        `logFailure` - `true` if failure to delete the resource should be logged
      Returns:
        `true` if the deletion was successful