Package org.apache.tools.ant.taskdefs.optional

# Class Cab

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.MatchingTask
org.apache.tools.ant.taskdefs.optional.Cab

All Implemented Interfaces:
  `Cloneable`, `SelectorContainer`

public class Cab extends MatchingTask
Create a CAB archive.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String`
  `archiveType`

  ### Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask

  `fileset`

  ### Fields inherited from class org.apache.tools.ant.Task

  `target, taskName, taskType, wrapper`

  ### Fields inherited from class org.apache.tools.ant.ProjectComponent

  `description, location, project`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Cab()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addFileset(FileSet fileset)`
  Adds a set of files to archive.
  `protected void`
  `appendFiles(Vector<String> files, DirectoryScanner ds)`
  Append all files found by a directory scanner to a vector.
  `protected void`
  `checkConfiguration()`
  Check if the attributes and nested elements are correct.
  `protected ExecTask`
  `createExec()`
  Create a new exec delegate.
  `protected File`
  `createListFile(Vector<String> files)`
  Creates a list file.
  `void`
  `execute()`
  execute this task.
  `protected Vector<String>`
  `getFileList()`
  Get the complete list of files to be included in the cab.
  `protected boolean`
  `isUpToDate(Vector<String> files)`
  Check to see if the target is up to date with respect to input files.
  `void`
  `setBasedir(File baseDir)`
  Base directory to look in for files to CAB.
  `void`
  `setCabfile(File cabFile)`
  The name/location of where to create the .cab file.
  `void`
  `setCompress(boolean compress)`
  If true, compress the files otherwise only store them.
  `void`
  `setOptions(String options)`
  Sets additional cabarc options that are not supported directly.
  `void`
  `setVerbose(boolean verbose)`
  If true, display cabarc output.

  ### Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask

  `add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems`

  ### Methods inherited from class org.apache.tools.ant.Task

  `bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType`

  ### Methods inherited from class org.apache.tools.ant.ProjectComponent

  `clone, getDescription, getLocation, getProject, setDescription, setLocation`

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

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

- ## Field Details

  - ### archiveType

    protected String archiveType

- ## Constructor Details

  - ### Cab

    public Cab()

- ## Method Details

  - ### setCabfile

    public void setCabfile(File cabFile)
    The name/location of where to create the .cab file.
    Parameters:
      `cabFile` - the location of the cab file.

  - ### setBasedir

    public void setBasedir(File baseDir)
    Base directory to look in for files to CAB.
    Parameters:
      `baseDir` - base directory for files to cab.

  - ### setCompress

    public void setCompress(boolean compress)
    If true, compress the files otherwise only store them.
    Parameters:
      `compress` - a `boolean` value.

  - ### setVerbose

    public void setVerbose(boolean verbose)
    If true, display cabarc output.
    Parameters:
      `verbose` - a `boolean` value.

  - ### setOptions

    public void setOptions(String options)
    Sets additional cabarc options that are not supported directly.
    Parameters:
      `options` - cabarc command line options.

  - ### addFileset

    public void addFileset(FileSet fileset)
    Adds a set of files to archive.
    Parameters:
      `fileset` - a set of files to archive.

  - ### checkConfiguration

    protected void checkConfiguration() throws BuildException
    Check if the attributes and nested elements are correct.
    Throws:
      `BuildException` - on error.

  - ### createExec

    protected ExecTask createExec() throws BuildException
    Create a new exec delegate. The delegate task is populated so that it appears in the logs to be the same task as this one.
    Returns:
      the delegate.
    Throws:
      `BuildException` - on error.

  - ### isUpToDate

    protected boolean isUpToDate(Vector<String> files)
    Check to see if the target is up to date with respect to input files.
    Parameters:
      `files` - the list of files to check.
    Returns:
      true if the cab file is newer than its dependents.

  - ### createListFile

    protected File createListFile(Vector<String> files) throws IOException
    Creates a list file. This temporary file contains a list of all files to be included in the cab, one file per line.

    This method expects to only be called on Windows and thus quotes the file names.

    Parameters:
      `files` - the list of files to use.
    Returns:
      the list file created.
    Throws:
      `IOException` - if there is an error.

  - ### appendFiles

    protected void appendFiles(Vector<String> files, DirectoryScanner ds)
    Append all files found by a directory scanner to a vector.
    Parameters:
      `files` - the vector to append the files to.
      `ds` - the scanner to get the files from.

  - ### getFileList

    protected Vector<String> getFileList() throws BuildException
    Get the complete list of files to be included in the cab. Filenames are gathered from the fileset if it has been added, otherwise from the traditional include parameters.
    Returns:
      the list of files.
    Throws:
      `BuildException` - if there is an error.

  - ### execute

    public void execute() throws BuildException
    execute this task.
    Overrides:
      `execute` in class `Task`
    Throws:
      `BuildException` - on error.