## org.eclipse.wst.server.core.util
Class PublishUtil

    java.lang.Object
      org.eclipse.wst.server.core.util.PublishUtil

    public final class PublishUtil

extends java.lang.Object

Utility class with an assortment of useful file methods.

This class provides all its functionality through static members. It is not intended to be subclassed or instantiated.

Since:
  2.0

Method Summary
`static IStatus[]` `deleteDirectory(java.io.File dir, IProgressMonitor monitor)` Utility method to recursively delete a directory.
`static IStatus[]` `publishDelta(IModuleResourceDelta[] delta, IPath path, IProgressMonitor monitor)` Handle a delta publish.
`static IStatus[]` `publishDelta(IModuleResourceDelta delta, IPath path, IProgressMonitor monitor)` Handle a delta publish.
`static IStatus[]` `publishFull(IModuleResource[] resources, IPath path, IProgressMonitor monitor)` Publish the given module resources to the given path.
`static IStatus[]` `publishSmart(IModuleResource[] resources, IPath path, IPath[] ignore, IProgressMonitor monitor)` Smart copy the given module resources to the given path.
`static IStatus[]` `publishSmart(IModuleResource[] resources, IPath path, IProgressMonitor monitor)` Smart copy the given module resources to the given path.
`static IStatus[]` `publishZip(IModuleResource[] resources, IPath path, IProgressMonitor monitor)` Creates a new zip file containing the given module resources.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### deleteDirectory

    public static IStatus[] deleteDirectory(java.io.File dir,
                                            IProgressMonitor monitor)

  Utility method to recursively delete a directory.

  Parameters:
    `dir` - a directory
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishSmart

    public static IStatus[] publishSmart(IModuleResource[] resources,
                                         IPath path,
                                         IProgressMonitor monitor)

  Smart copy the given module resources to the given path.

  Parameters:
    `resources` - an array of module resources
    `path` - an external path to copy to
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishSmart

    public static IStatus[] publishSmart(IModuleResource[] resources,
                                         IPath path,
                                         IPath[] ignore,
                                         IProgressMonitor monitor)

  Smart copy the given module resources to the given path.

  Parameters:
    `resources` - an array of module resources
    `path` - an external path to copy to
    `ignore` - an array of paths relative to path to ignore, i.e. not delete or copy over
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishDelta

    public static IStatus[] publishDelta(IModuleResourceDelta[] delta,
                                         IPath path,
                                         IProgressMonitor monitor)

  Handle a delta publish.

  Parameters:
    `delta` - a module resource delta
    `path` - the path to publish to
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishDelta

    public static IStatus[] publishDelta(IModuleResourceDelta delta,
                                         IPath path,
                                         IProgressMonitor monitor)

  Handle a delta publish.

  Parameters:
    `delta` - a module resource delta
    `path` - the path to publish to
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishFull

    public static IStatus[] publishFull(IModuleResource[] resources,
                                        IPath path,
                                        IProgressMonitor monitor)

  Publish the given module resources to the given path.

  Parameters:
    `resources` - an array of module resources
    `path` - a path to publish to
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status

### publishZip

    public static IStatus[] publishZip(IModuleResource[] resources,
                                       IPath path,
                                       IProgressMonitor monitor)

  Creates a new zip file containing the given module resources. Deletes the existing file (and doesn't create a new one) if resources is null or empty.

  Parameters:
    `resources` - an array of module resources
    `path` - the path where the zip file should be created
    `monitor` - a progress monitor, or `null` if progress reporting and cancellation are not desired
  Returns:
    a possibly-empty array of error and warning status