ZipFileSet (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.types, class: ZipFileSet

# Class ZipFileSet

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
org.apache.tools.ant.types.AbstractFileSet
org.apache.tools.ant.types.FileSet
org.apache.tools.ant.types.ArchiveFileSet
org.apache.tools.ant.types.ZipFileSet

All Implemented Interfaces:
  `Cloneable, Iterable<Resource>, ResourceCollection, SelectorContainer`

public class ZipFileSet extends ArchiveFileSet
A ZipFileSet is a FileSet with extra attributes useful in the context of Zip/Jar tasks. A ZipFileSet extends FileSets with the ability to extract a subset of the entries of a Zip file for inclusion in another Zip file. It also includes a prefix attribute which is prepended to each entry in the output Zip file. Since ant 1.6 ZipFileSet can be defined with an id and referenced in packaging tasks

- ## Field Summary

  ### Fields inherited from class ArchiveFileSet

  `DEFAULT_DIR_MODE, DEFAULT_FILE_MODE`
  Modifier and Type
  Field
  Description
  `static final int`
  `DEFAULT_DIR_MODE`
  Default value for the dirmode attribute.
  `static final int`
  `DEFAULT_FILE_MODE`
  Default value for the filemode attribute.

  ### Fields inherited from class DataType

  `checked, ref`
  Modifier and Type
  Field
  Description
  `protected boolean`
  `checked`
  Deprecated.
  since 1.7.
  `protected Reference`
  `ref`
  Deprecated.
  since 1.7.

  ### Fields inherited from class ProjectComponent

  `description, location, project`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  Deprecated.
  since 1.6.x.
  `protected Location`
  `location`
  Deprecated.
  since 1.6.x.
  `protected Project`
  `project`
  Deprecated.
  since 1.6.x.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `ZipFileSet()`
  Constructor for ZipFileSet
  `protected`
  `ZipFileSet(FileSet fileset)`
  Constructor using a fileset argument.
  `protected`
  `ZipFileSet(ZipFileSet fileset)`
  Constructor using a zipfileset argument.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  Return a ZipFileSet that has the same properties as this one.
  `protected AbstractFileSet`
  `getRef()`
  A ZipFileset accepts another ZipFileSet or a FileSet as reference FileSets are often used by the war task for the lib attribute
  `protected AbstractFileSet`
  `getRef(Project p)`
  A ZipFileset accepts another ZipFileSet or a FileSet as reference FileSets are often used by the war task for the lib attribute
  `protected ArchiveScanner`
  `newArchiveScanner()`
  Return a new archive scanner based on this one.

  ### Methods inherited from class ArchiveFileSet

  `addConfigured, configureFileSet, dieOnCircularReference, getDirectoryScanner, getDirMode, getDirMode, getEncoding, getFileMode, getFileMode, getFullpath, getFullpath, getPrefix, getPrefix, getSrc, getSrc, hasDirModeBeenSet, hasFileModeBeenSet, integerSetDirMode, integerSetFileMode, isFilesystemOnly, iterator, setDir, setDirMode, setEncoding, setErrorOnMissingArchive, setFileMode, setFullpath, setPrefix, setSrc, setSrcResource, size, toString`
  Modifier and Type
  Method
  Description
  `void`
  `addConfigured(ResourceCollection a)`
  Set the source Archive file for the archivefileset.
  `protected void`
  `configureFileSet(ArchiveFileSet zfs)`
  A ArchiveFileset accepts another ArchiveFileSet or a FileSet as reference FileSets are often used by the war task for the lib attribute
  `protected void`
  `dieOnCircularReference(Stack<Object> stk, Project p)`
  Check to see whether any DataType we hold references to is included in the Stack (which holds all DataType instances that directly or indirectly reference this instance, including this instance itself).
  `DirectoryScanner`
  `getDirectoryScanner(Project p)`
  Return the DirectoryScanner associated with this FileSet.
  `int`
  `getDirMode()`
  Deprecated.
  since 1.7.
  `int`
  `getDirMode(Project p)`
  Get the dir mode of the archive fileset
  `String`
  `getEncoding()`
  Get the encoding used for this ZipFileSet.
  `int`
  `getFileMode()`
  Deprecated.
  since 1.7.
  `int`
  `getFileMode(Project p)`
  Get the mode of the archive fileset
  `String`
  `getFullpath()`
  Deprecated.
  since 1.7.
  `String`
  `getFullpath(Project p)`
  Return the full pathname of the single entry in this fileset.
  `String`
  `getPrefix()`
  Deprecated.
  since 1.7.
  `String`
  `getPrefix(Project p)`
  Return the prefix prepended to entries in the archive file.
  `File`
  `getSrc()`
  Get the archive file from which entries will be extracted.
  `File`
  `getSrc(Project p)`
  Get the archive from which entries will be extracted.
  `boolean`
  `hasDirModeBeenSet()`
  Whether the user has specified the mode explicitly.
  `boolean`
  `hasFileModeBeenSet()`
  Whether the user has specified the mode explicitly.
  `void`
  `integerSetDirMode(int mode)`
  specify the user, group and other modes in the standard Unix fashion; optional, default=0755
  `void`
  `integerSetFileMode(int mode)`
  specify the user, group and other modes in the standard Unix fashion; optional, default=0644
  `boolean`
  `isFilesystemOnly()`
  Indicate whether this ResourceCollection is composed entirely of Resources accessible via local filesystem conventions.
  `Iterator<Resource>`
  `iterator()`
  Fulfill the ResourceCollection contract.
  `void`
  `setDir(File dir)`
  Set the directory for the fileset.
  `void`
  `setDirMode(String octalString)`
  A 3 digit octal string, specify the user, group and other modes in the standard Unix fashion; optional, default=0755
  `void`
  `setEncoding(String enc)`
  Set the encoding used for this ZipFileSet.
  `void`
  `setErrorOnMissingArchive(boolean errorOnMissingArchive)`
  Sets whether an error is thrown if an archive does not exist.
  `void`
  `setFileMode(String octalString)`
  A 3 digit octal string, specify the user, group and other modes in the standard Unix fashion; optional, default=0644
  `void`
  `setFullpath(String fullpath)`
  Set the full pathname of the single entry in this fileset.
  `void`
  `setPrefix(String prefix)`
  Prepend this prefix to the path for each archive entry.
  `void`
  `setSrc(File srcFile)`
  Set the source Archive file for the archivefileset.
  `void`
  `setSrcResource(Resource src)`
  Set the source Archive file for the archivefileset.
  `int`
  `size()`
  Fulfill the ResourceCollection contract.
  `String`
  `toString()`
  For file-based archivefilesets, return the same as for normal filesets; else just return the path of the zip.

  ### Methods inherited from class AbstractFileSet

  `add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addExecutable, addFilename, addMajority, addModified, addNone, addNot, addOr, addOwnedBy, addPosixGroup, addPosixPermissions, addPresent, addReadable, addSelector, addSize, addSymlink, addType, addWindowsJunction, addWritable, appendExcludes, appendIncludes, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDefaultexcludes, getDir, getDir, getDirectoryScanner, getErrorOnMissingDir, getMaxLevelsOfSymlinks, getSelectors, hasPatterns, hasSelectors, isCaseSensitive, isFollowSymlinks, mergeExcludes, mergeIncludes, mergePatterns, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setErrorOnMissingDir, setExcludes, setExcludesfile, setFile, setFollowSymlinks, setIncludes, setIncludesfile, setMaxLevelsOfSymlinks, setRefid, setupDirectoryScanner, setupDirectoryScanner`
  Modifier and Type
  Method
  Description
  `void`
  `add(FileSelector selector)`
  Add an arbitrary selector.
  `void`
  `addAnd(AndSelector selector)`
  Add an "And" selector entry on the selector list.
  `void`
  `addContains(ContainsSelector selector)`
  Add a contains selector entry on the selector list.
  `void`
  `addContainsRegexp(ContainsRegexpSelector selector)`
  Add a regular expression selector entry on the selector list.
  `void`
  `addCustom(ExtendSelector selector)`
  Add an extended selector entry on the selector list.
  `void`
  `addDate(DateSelector selector)`
  Add a selector date entry on the selector list.
  `void`
  `addDepend(DependSelector selector)`
  Add a depends selector entry on the selector list.
  `void`
  `addDepth(DepthSelector selector)`
  Add a depth selector entry on the selector list.
  `void`
  `addDifferent(DifferentSelector selector)`
  Add a DifferentSelector entry on the selector list.
  `void`
  `addExecutable(ExecutableSelector e)`
  `void`
  `addFilename(FilenameSelector selector)`
  Add a selector filename entry on the selector list.
  `void`
  `addMajority(MajoritySelector selector)`
  Add a majority selector entry on the selector list.
  `void`
  `addModified(ModifiedSelector selector)`
  Add the modified selector.
  `void`
  `addNone(NoneSelector selector)`
  Add a "None" selector entry on the selector list.
  `void`
  `addNot(NotSelector selector)`
  Add a "Not" selector entry on the selector list.
  `void`
  `addOr(OrSelector selector)`
  Add an "Or" selector entry on the selector list.
  `void`
  `addOwnedBy(OwnedBySelector o)`
  `void`
  `addPosixGroup(PosixGroupSelector o)`
  `void`
  `addPosixPermissions(PosixPermissionsSelector o)`
  `void`
  `addPresent(PresentSelector selector)`
  Add a present selector entry on the selector list.
  `void`
  `addReadable(ReadableSelector r)`
  `void`
  `addSelector(SelectSelector selector)`
  Add a "Select" selector entry on the selector list.
  `void`
  `addSize(SizeSelector selector)`
  Add a selector size entry on the selector list.
  `void`
  `addSymlink(SymlinkSelector e)`
  `void`
  `addType(TypeSelector selector)`
  Add a selector type entry on the selector list.
  `void`
  `addWindowsJunction(WindowsJunctionSelector e)`
  `void`
  `addWritable(WritableSelector w)`
  `void`
  `appendExcludes(String[] excludes)`
  Appends `excludes` to the current list of exclude patterns.
  `void`
  `appendIncludes(String[] includes)`
  Appends `includes` to the current list of include patterns.
  `void`
  `appendSelector(FileSelector selector)`
  Add a new selector into this container.
  `PatternSet.NameEntry`
  `createExclude()`
  Add a name entry to the exclude list.
  `PatternSet.NameEntry`
  `createExcludesFile()`
  Add a name entry to the excludes files list.
  `PatternSet.NameEntry`
  `createInclude()`
  Add a name entry to the include list.
  `PatternSet.NameEntry`
  `createIncludesFile()`
  Add a name entry to the include files list.
  `PatternSet`
  `createPatternSet()`
  Creates a nested patternset.
  `boolean`
  `getDefaultexcludes()`
  Whether default exclusions should be used or not.
  `File`
  `getDir()`
  Retrieves the base-directory for this instance.
  `File`
  `getDir(Project p)`
  Retrieves the base-directory for this instance.
  `DirectoryScanner`
  `getDirectoryScanner()`
  Returns the directory scanner needed to access the files to process.
  `boolean`
  `getErrorOnMissingDir()`
  Gets whether an error is/should be thrown if the base directory does not exist.
  `int`
  `getMaxLevelsOfSymlinks()`
  The maximum number of times a symbolic link or Windows junctions may be followed during a scan.
  `FileSelector[]`
  `getSelectors(Project p)`
  Returns the set of selectors as an array.
  `boolean`
  `hasPatterns()`
  Indicates whether there are any patterns here.
  `boolean`
  `hasSelectors()`
  Indicates whether there are any selectors here.
  `boolean`
  `isCaseSensitive()`
  Find out if the fileset is case sensitive.
  `boolean`
  `isFollowSymlinks()`
  Find out if the fileset wants to follow symbolic links or Windows junctions.
  `String[]`
  `mergeExcludes(Project p)`
  Get the merged exclude patterns for this AbstractFileSet.
  `String[]`
  `mergeIncludes(Project p)`
  Get the merged include patterns for this AbstractFileSet.
  `PatternSet`
  `mergePatterns(Project p)`
  Get the merged patterns for this AbstractFileSet.
  `int`
  `selectorCount()`
  Gives the count of the number of selectors in this container.
  `Enumeration<FileSelector>`
  `selectorElements()`
  Returns an enumerator for accessing the set of selectors.
  `void`
  `setCaseSensitive(boolean caseSensitive)`
  Sets case sensitivity of the file system.
  `void`
  `setDefaultexcludes(boolean useDefaultExcludes)`
  Sets whether default exclusions should be used or not.
  `void`
  `setErrorOnMissingDir(boolean errorOnMissingDir)`
  Sets whether an error is thrown if a directory does not exist.
  `void`
  `setExcludes(String excludes)`
  Appends `excludes` to the current list of exclude patterns.
  `void`
  `setExcludesfile(File excl)`
  Sets the `File` containing the excludes patterns.
  `void`
  `setFile(File file)`
  Creates a single file fileset.
  `void`
  `setFollowSymlinks(boolean followSymlinks)`
  Sets whether or not symbolic links or Windows junctions should be followed.
  `void`
  `setIncludes(String includes)`
  Appends `includes` to the current list of include patterns.
  `void`
  `setIncludesfile(File incl)`
  Sets the `File` containing the includes patterns.
  `void`
  `setMaxLevelsOfSymlinks(int max)`
  The maximum number of times a symbolic link or Windows junctions may be followed during a scan.
  `void`
  `setRefid(Reference r)`
  Makes this instance in effect a reference to another instance.
  `void`
  `setupDirectoryScanner(FileScanner ds)`
  Set up the specified directory scanner against this AbstractFileSet's Project.
  `void`
  `setupDirectoryScanner(FileScanner ds, Project p)`
  Set up the specified directory scanner against the specified project.

  ### Methods inherited from class DataType

  `checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes`
  Modifier and Type
  Method
  Description
  `protected void`
  `checkAttributesAllowed()`
  check that it is ok to set attributes, i.e that no reference is defined
  `protected void`
  `checkChildrenAllowed()`
  check that it is ok to add children, i.e that no reference is defined
  `protected BuildException`
  `circularReference()`
  Creates an exception that indicates the user has generated a loop of data types referencing each other.
  `protected void`
  `dieOnCircularReference()`
  Convenience method.
  `protected void`
  `dieOnCircularReference(Project p)`
  Convenience method.
  `protected <T> T`
  `getCheckedRef()`
  Deprecated.
  use getCheckedRef(Class)
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Class<T> requiredClass, String dataTypeName, Project project)`
  Performs the check for circular references and returns the referenced object.
  `protected <T> T`
  `getCheckedRef(Project p)`
  Deprecated.
  use getCheckedRef(Class)
  `protected String`
  `getDataTypeName()`
  Gets as descriptive as possible a name used for this datatype instance.
  `Reference`
  `getRefid()`
  get the reference set on this object
  `static void`
  `invokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected boolean`
  `isChecked()`
  The flag that is used to indicate that circular references have been checked.
  `boolean`
  `isReference()`
  Has the refid attribute of this element been set?
  `protected BuildException`
  `noChildrenAllowed()`
  Creates an exception that indicates that this XML element must not have child elements if the refid attribute is set.
  `static void`
  `pushAndInvokeCircularReferenceCheck(DataType dt, Stack<Object> stk, Project p)`
  Allow DataTypes outside org.apache.tools.ant.types to indirectly call dieOnCircularReference on nested DataTypes.
  `protected void`
  `setChecked(boolean checked)`
  Set the flag that is used to indicate that circular references have been checked.
  `protected BuildException`
  `tooManyAttributes()`
  Creates an exception that indicates that refid has to be the only attribute if it is set.

  ### Methods inherited from class ProjectComponent

  `getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject`
  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the description of the current action.
  `Location`
  `getLocation()`
  Returns the file/location where this task was defined.
  `Project`
  `getProject()`
  Returns the project to which this component belongs.
  `void`
  `log(String msg)`
  Logs a message with the default (INFO) priority.
  `void`
  `log(String msg, int msgLevel)`
  Logs a message with the given priority.
  `void`
  `setDescription(String desc)`
  Sets a description of the current action.
  `void`
  `setLocation(Location location)`
  Sets the file/location where this task was defined.
  `void`
  `setProject(Project project)`
  Sets the project object of this component.

  ### Methods inherited from class Object

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

  ### Methods inherited from interface Iterable

  `forEach, spliterator`

  ### Methods inherited from interface ResourceCollection

  `isEmpty, stream`
  Modifier and Type
  Method
  Description
  `default boolean`
  `isEmpty()`
  Learn whether this `ResourceCollection` is empty.
  `default Stream<? extends Resource>`
  `stream()`
  Return a `Stream` over this `ResourceCollection`.

- ## Constructor Details

  - ### ZipFileSet

    public ZipFileSet()
    Constructor for ZipFileSet

  - ### ZipFileSet

    protected ZipFileSet(FileSet fileset)
    Constructor using a fileset argument.
    Parameters:
      `fileset` - the fileset to use

  - ### ZipFileSet

    protected ZipFileSet(ZipFileSet fileset)
    Constructor using a zipfileset argument.
    Parameters:
      `fileset` - the zipfileset to use

- ## Method Details

  - ### newArchiveScanner

    protected ArchiveScanner newArchiveScanner()
    Return a new archive scanner based on this one.
    Specified by:
      `newArchiveScanner` in class `ArchiveFileSet`
    Returns:
      a new ZipScanner with the same encoding as this one.

  - ### getRef

    protected AbstractFileSet getRef(Project p)
    A ZipFileset accepts another ZipFileSet or a FileSet as reference FileSets are often used by the war task for the lib attribute
    Overrides:
      `getRef` in class `FileSet`
    Parameters:
      `p` - the project to use
    Returns:
      the abstract fileset instance

  - ### getRef

    protected AbstractFileSet getRef()
    A ZipFileset accepts another ZipFileSet or a FileSet as reference FileSets are often used by the war task for the lib attribute
    Overrides:
      `getRef` in class `ArchiveFileSet`
    Returns:
      the abstract fileset instance

  - ### clone

    public Object clone()
    Return a ZipFileSet that has the same properties as this one.
    Overrides:
      `clone` in class `ArchiveFileSet`
    Returns:
      the cloned zipFileSet