org.apache.tools.ant.types.resources
Class Files

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by org.apache.tools.ant.types.selectors.AbstractSelectorContainer
              extended by org.apache.tools.ant.types.resources.Files
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<Resource>, ResourceCollection, SelectorContainer

public class Files
extends AbstractSelectorContainer
implements ResourceCollection

ResourceCollection implementation; like AbstractFileSet with absolute paths.

Since:
Ant 1.7

Field Summary
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
  Files()
          Construct a new Files collection.
protected Files(Files f)
          Construct a new Files collection, shallowly cloned from the specified Files.
 
Method Summary
 void appendExcludes(java.lang.String[] excludes)
          Append excludes to the current list of include patterns.
 void appendIncludes(java.lang.String[] includes)
          Append includes to the current list of include patterns.
 void appendSelector(FileSelector selector)
          Add a new selector into this container.
 java.lang.Object clone()
          Create a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).
 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()
          Create a nested patternset.
 boolean getDefaultexcludes()
          Get whether default exclusions should be used or not.
protected  Files getRef()
          Perform the check for circular references and return the referenced Files collection.
 boolean hasPatterns()
          Find out whether this Files collection has patterns.
 boolean isCaseSensitive()
          Find out if this Files collection is case-sensitive.
 boolean isFilesystemOnly()
          Always returns true.
 boolean isFollowSymlinks()
          Find out whether symbolic links should be followed.
 java.util.Iterator<Resource> iterator()
          Fulfill the ResourceCollection contract.
 java.lang.String[] mergeExcludes(Project p)
          Get the merged exclude patterns for this Files collection.
 java.lang.String[] mergeIncludes(Project p)
          Get the merged include patterns for this Files collection.
 PatternSet mergePatterns(Project p)
          Get the merged patterns for this Files collection.
 void setCaseSensitive(boolean caseSensitive)
          Set case-sensitivity of the Files collection.
 void setDefaultexcludes(boolean useDefaultExcludes)
          Set whether default exclusions should be used or not.
 void setExcludes(java.lang.String excludes)
          Append excludes to the current list of exclude patterns.
 void setExcludesfile(java.io.File excl)
          Set the File containing the excludes patterns.
 void setFollowSymlinks(boolean followSymlinks)
          Set whether or not symbolic links should be followed.
 void setIncludes(java.lang.String includes)
          Append includes to the current list of include patterns.
 void setIncludesfile(java.io.File incl)
          Set the File containing the includes patterns.
 void setRefid(Reference r)
          Make this instance in effect a reference to another instance.
 int size()
          Fulfill the ResourceCollection contract.
 java.lang.String toString()
          Format this Files collection as a String.
 
Methods inherited from class org.apache.tools.ant.types.selectors.AbstractSelectorContainer
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addReadable, addSelector, addSize, addType, addWritable, dieOnCircularReference, getSelectors, hasSelectors, selectorCount, selectorElements, validate
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Files

public Files()
Construct a new Files collection.


Files

protected Files(Files f)
Construct a new Files collection, shallowly cloned from the specified Files.

Parameters:
f - the Files to use as a template.
Method Detail

setRefid

public void setRefid(Reference r)
              throws BuildException
Make this instance in effect a reference to another instance.

You must not set another attribute or nest elements inside this element if you make it a reference.

Overrides:
setRefid in class DataType
Parameters:
r - the Reference to use.
Throws:
BuildException - if there is a problem.

createPatternSet

public PatternSet createPatternSet()
Create a nested patternset.

Returns:
PatternSet.

createInclude

public PatternSet.NameEntry createInclude()
Add a name entry to the include list.

Returns:
PatternSet.NameEntry.

createIncludesFile

public PatternSet.NameEntry createIncludesFile()
Add a name entry to the include files list.

Returns:
PatternSet.NameEntry.

createExclude

public PatternSet.NameEntry createExclude()
Add a name entry to the exclude list.

Returns:
PatternSet.NameEntry.

createExcludesFile

public PatternSet.NameEntry createExcludesFile()
Add a name entry to the excludes files list.

Returns:
PatternSet.NameEntry.

setIncludes

public void setIncludes(java.lang.String includes)
Append includes to the current list of include patterns.

Patterns may be separated by a comma or a space.

Parameters:
includes - the String containing the include patterns.

appendIncludes

public void appendIncludes(java.lang.String[] includes)
Append includes to the current list of include patterns.

Parameters:
includes - array containing the include patterns.

setExcludes

public void setExcludes(java.lang.String excludes)
Append excludes to the current list of exclude patterns.

Patterns may be separated by a comma or a space.

Parameters:
excludes - the String containing the exclude patterns.

appendExcludes

public void appendExcludes(java.lang.String[] excludes)
Append excludes to the current list of include patterns.

Parameters:
excludes - array containing the exclude patterns.

setIncludesfile

public void setIncludesfile(java.io.File incl)
                     throws BuildException
Set the File containing the includes patterns.

Parameters:
incl - File instance.
Throws:
BuildException - if there is a problem.

setExcludesfile

public void setExcludesfile(java.io.File excl)
                     throws BuildException
Set the File containing the excludes patterns.

Parameters:
excl - File instance.
Throws:
BuildException - if there is a problem.

setDefaultexcludes

public void setDefaultexcludes(boolean useDefaultExcludes)
Set whether default exclusions should be used or not.

Parameters:
useDefaultExcludes - boolean.

getDefaultexcludes

public boolean getDefaultexcludes()
Get whether default exclusions should be used or not.

Returns:
the defaultexclusions value.

setCaseSensitive

public void setCaseSensitive(boolean caseSensitive)
Set case-sensitivity of the Files collection.

Parameters:
caseSensitive - boolean.

isCaseSensitive

public boolean isCaseSensitive()
Find out if this Files collection is case-sensitive.

Returns:
boolean indicating whether the Files collection is case-sensitive.

setFollowSymlinks

public void setFollowSymlinks(boolean followSymlinks)
Set whether or not symbolic links should be followed.

Parameters:
followSymlinks - whether or not symbolic links should be followed.

isFollowSymlinks

public boolean isFollowSymlinks()
Find out whether symbolic links should be followed.

Returns:
boolean indicating whether symbolic links should be followed.

iterator

public java.util.Iterator<Resource> iterator()
Fulfill the ResourceCollection contract.

Specified by:
iterator in interface java.lang.Iterable<Resource>
Specified by:
iterator in interface ResourceCollection
Returns:
an Iterator of Resources.

size

public int size()
Fulfill the ResourceCollection contract.

Specified by:
size in interface ResourceCollection
Returns:
number of elements as int.

hasPatterns

public boolean hasPatterns()
Find out whether this Files collection has patterns.

Returns:
whether any patterns are in this container.

appendSelector

public void appendSelector(FileSelector selector)
Add a new selector into this container.

Specified by:
appendSelector in interface SelectorContainer
Overrides:
appendSelector in class AbstractSelectorContainer
Parameters:
selector - the new FileSelector to add.

toString

public java.lang.String toString()
Format this Files collection as a String.

Overrides:
toString in class AbstractSelectorContainer
Returns:
a descriptive String.

clone

public java.lang.Object clone()
Create a deep clone of this instance, except for the nested selectors (the list of selectors is a shallow clone of this instance's list).

Overrides:
clone in class AbstractSelectorContainer
Returns:
a cloned Object.

mergeIncludes

public java.lang.String[] mergeIncludes(Project p)
Get the merged include patterns for this Files collection.

Parameters:
p - Project instance.
Returns:
the include patterns of the default pattern set and all nested patternsets.

mergeExcludes

public java.lang.String[] mergeExcludes(Project p)
Get the merged exclude patterns for this Files collection.

Parameters:
p - Project instance.
Returns:
the exclude patterns of the default pattern set and all nested patternsets.

mergePatterns

public PatternSet mergePatterns(Project p)
Get the merged patterns for this Files collection.

Parameters:
p - Project instance.
Returns:
the default patternset merged with the additional sets in a new PatternSet instance.

isFilesystemOnly

public boolean isFilesystemOnly()
Always returns true.

Specified by:
isFilesystemOnly in interface ResourceCollection
Returns:
true indicating that all elements of a Files collection will be FileResources.

getRef

protected Files getRef()
Perform the check for circular references and return the referenced Files collection.

Returns:
FileCollection.