Package 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
Modifier and Type
Field
Description
`protected static final StringManager`
`sm`
The string resources for this package.

## Constructor Summary

Constructors
Constructor
Description
`ExpandWar()`

## Method Summary

Modifier and Type
Method
Description
`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.
`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 Details

### sm

protected static final StringManager sm
The string resources for this package.

## Constructor Details

### ExpandWar

public ExpandWar()

## Method Details

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

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 for the given WAR
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
Returns:
  `true` if the copy was successful

### 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
Returns:
  `true` if the deletion was successful

### 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
Returns:
  `true` if the deletion was successful

### 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
Returns:
  `true` if the deletion was successful

### 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
Returns:
  `true` if the deletion was successful