org.apache.catalina.startup

## Class ExpandWar

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

    public class ExpandWar
    extends Object

Expand out a WAR in a Host's appBase.

Author:
  Craig R. McClanahan, Remy Maucherat, Glenn L. Nielsen

### Field Summary

Fields
`protected static StringManager` `sm` The string resources for this package.

### Constructor Summary

Constructors
Constructor and Description
`ExpandWar()`

### Method Summary

Methods
`static boolean` `copy(File src, File dest)` Copy the specified file or directory to the destination.
`static boolean` `delete(File dir)` Delete the specified directory, including all of its contents and sub-directories recursively.
`static boolean` `delete(File dir, boolean logFailure)` Delete the specified directory, including all of its contents and sub-directories recursively.
`static boolean` `deleteDir(File dir)` Delete the specified directory, including all of its contents and sub-directories recursively.
`static boolean` `deleteDir(File dir, boolean logFailure)` Delete the specified directory, including all of its contents and sub-directories recursively.
`static String` `expand(Host host, URL war, String pathname)` Expand the WAR file found at the specified URL into an unpacked directory structure, and return the absolute pathname to the expanded directory.
`static void` `validate(Host host, URL war, 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 String expand(Host host,
                URL war,
                String pathname)
                         throws IOException

Expand the WAR file found at the specified URL into an unpacked directory structure, and return the absolute pathname to the expanded directory.

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
Throws:
  `IllegalArgumentException` - if this is not a "jar:" URL or if the WAR file is invalid
  `IOException` - if an input/output error was encountered during expansion

#### validate

    public static void validate(Host host,
                URL war,
                String pathname)
                         throws 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:
  `IllegalArgumentException` - if this is not a "jar:" URL or if the WAR file is invalid
  `IOException` - if an input/output error was encountered during validation

#### copy

    public static boolean copy(File src,
               File dest)

Copy the specified file or directory to the destination.

Parameters:
  `src` - File object representing the source
  `dest` - File object representing the destination

#### delete

    public static boolean delete(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

#### delete

    public static boolean delete(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

#### deleteDir

    public static boolean deleteDir(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

#### deleteDir

    public static boolean deleteDir(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