Class AbstractFileSet

    • Constructor Detail

      • AbstractFileSet

        public AbstractFileSet()
        Construct a new AbstractFileSet.
      • AbstractFileSet

        protected AbstractFileSet​(AbstractFileSet fileset)
        Construct a new AbstractFileSet, shallowly cloned from the specified AbstractFileSet.
        Parameters:
        fileset - the AbstractFileSet to use as a template.
    • Method Detail

      • setRefid

        public void setRefid​(Reference r)
                      throws BuildException
        Makes 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 - on error
      • setDir

        public void setDir​(java.io.File dir)
                    throws BuildException
        Sets the base-directory for this instance.
        Parameters:
        dir - the directory's File instance.
        Throws:
        BuildException - on error
      • getDir

        public java.io.File getDir()
        Retrieves the base-directory for this instance.
        Returns:
        File.
      • getDir

        public java.io.File getDir​(Project p)
        Retrieves the base-directory for this instance.
        Parameters:
        p - the Project against which the reference is resolved, if set.
        Returns:
        File.
      • createPatternSet

        public PatternSet createPatternSet()
        Creates 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.PatternFileNameEntry.
      • 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.PatternFileNameEntry.
      • setFile

        public void setFile​(java.io.File file)
        Creates a single file fileset.
        Parameters:
        file - the single File included in this AbstractFileSet.
      • setIncludes

        public void setIncludes​(java.lang.String includes)
        Appends 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)
        Appends includes to the current list of include patterns.
        Parameters:
        includes - array containing the include patterns.
        Since:
        Ant 1.7
      • setExcludes

        public void setExcludes​(java.lang.String excludes)
        Appends 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)
        Appends excludes to the current list of exclude patterns.
        Parameters:
        excludes - array containing the exclude patterns.
        Since:
        Ant 1.7
      • setIncludesfile

        public void setIncludesfile​(java.io.File incl)
                             throws BuildException
        Sets the File containing the includes patterns.
        Parameters:
        incl - File instance.
        Throws:
        BuildException - on error
      • setExcludesfile

        public void setExcludesfile​(java.io.File excl)
                             throws BuildException
        Sets the File containing the excludes patterns.
        Parameters:
        excl - File instance.
        Throws:
        BuildException - on error
      • setDefaultexcludes

        public void setDefaultexcludes​(boolean useDefaultExcludes)
        Sets whether default exclusions should be used or not.
        Parameters:
        useDefaultExcludes - boolean.
      • getDefaultexcludes

        public boolean getDefaultexcludes()
        Whether default exclusions should be used or not.
        Returns:
        the default exclusions value.
        Since:
        Ant 1.6.3
      • setCaseSensitive

        public void setCaseSensitive​(boolean caseSensitive)
        Sets case sensitivity of the file system.
        Parameters:
        caseSensitive - boolean.
      • isCaseSensitive

        public boolean isCaseSensitive()
        Find out if the fileset is case sensitive.
        Returns:
        boolean indicating whether the fileset is case sensitive.
        Since:
        Ant 1.7
      • setFollowSymlinks

        public void setFollowSymlinks​(boolean followSymlinks)
        Sets whether or not symbolic links should be followed.
        Parameters:
        followSymlinks - whether or not symbolic links should be followed.
      • isFollowSymlinks

        public boolean isFollowSymlinks()
        Find out if the fileset wants to follow symbolic links.
        Returns:
        boolean indicating whether symbolic links should be followed.
        Since:
        Ant 1.6
      • setMaxLevelsOfSymlinks

        public void setMaxLevelsOfSymlinks​(int max)
        The maximum number of times a symbolic link may be followed during a scan.
        Parameters:
        max - int
        Since:
        Ant 1.8.0
      • getMaxLevelsOfSymlinks

        public int getMaxLevelsOfSymlinks()
        The maximum number of times a symbolic link may be followed during a scan.
        Returns:
        int
        Since:
        Ant 1.8.0
      • setErrorOnMissingDir

        public void setErrorOnMissingDir​(boolean errorOnMissingDir)
        Sets whether an error is thrown if a directory does not exist.
        Parameters:
        errorOnMissingDir - true if missing directories cause errors, false if not.
      • getErrorOnMissingDir

        public boolean getErrorOnMissingDir()
        Gets whether an error is/should be thrown if the base directory does not exist.
        Returns:
        boolean
        Since:
        Ant 1.8.2
      • getDirectoryScanner

        public DirectoryScanner getDirectoryScanner()
        Returns the directory scanner needed to access the files to process.
        Returns:
        a DirectoryScanner instance.
      • getDirectoryScanner

        public DirectoryScanner getDirectoryScanner​(Project p)
        Returns the directory scanner needed to access the files to process.
        Parameters:
        p - the Project against which the DirectoryScanner should be configured.
        Returns:
        a DirectoryScanner instance.
      • setupDirectoryScanner

        public void setupDirectoryScanner​(FileScanner ds)
        Set up the specified directory scanner against this AbstractFileSet's Project.
        Parameters:
        ds - a FileScanner instance.
      • setupDirectoryScanner

        public void setupDirectoryScanner​(FileScanner ds,
                                          Project p)
        Set up the specified directory scanner against the specified project.
        Parameters:
        ds - a FileScanner instance.
        p - an Ant Project instance.
      • getRef

        protected AbstractFileSet getRef​(Project p)
        Performs the check for circular references and returns the referenced FileSet. This method can be overridden together with getRef() providing implementations containing the special support for FileSet references, which can be handled by all ArchiveFileSets. NB! This method must be overridden in subclasses such as FileSet and DirSet to distinguish between the data types.
        Parameters:
        p - the current project
        Returns:
        the dereferenced object.
      • hasSelectors

        public boolean hasSelectors()
        Indicates whether there are any selectors here.
        Specified by:
        hasSelectors in interface SelectorContainer
        Returns:
        whether any selectors are in this container.
      • hasPatterns

        public boolean hasPatterns()
        Indicates whether there are any patterns here.
        Returns:
        whether any patterns are in this container.
      • selectorCount

        public int selectorCount()
        Gives the count of the number of selectors in this container.
        Specified by:
        selectorCount in interface SelectorContainer
        Returns:
        the number of selectors in this container as an int.
      • getSelectors

        public FileSelector[] getSelectors​(Project p)
        Returns the set of selectors as an array.
        Specified by:
        getSelectors in interface SelectorContainer
        Parameters:
        p - the current project
        Returns:
        a FileSelector[] of the selectors in this container.
      • selectorElements

        public java.util.Enumeration<FileSelector> selectorElements()
        Returns an enumerator for accessing the set of selectors.
        Specified by:
        selectorElements in interface SelectorContainer
        Returns:
        an Enumeration of selectors.
      • appendSelector

        public void appendSelector​(FileSelector selector)
        Add a new selector into this container.
        Specified by:
        appendSelector in interface SelectorContainer
        Parameters:
        selector - the new FileSelector to add.
      • addSelector

        public void addSelector​(SelectSelector selector)
        Add a "Select" selector entry on the selector list.
        Specified by:
        addSelector in interface SelectorContainer
        Parameters:
        selector - the SelectSelector to add.
      • addAnd

        public void addAnd​(AndSelector selector)
        Add an "And" selector entry on the selector list.
        Specified by:
        addAnd in interface SelectorContainer
        Parameters:
        selector - the AndSelector to add.
      • addOr

        public void addOr​(OrSelector selector)
        Add an "Or" selector entry on the selector list.
        Specified by:
        addOr in interface SelectorContainer
        Parameters:
        selector - the OrSelector to add.
      • addNot

        public void addNot​(NotSelector selector)
        Add a "Not" selector entry on the selector list.
        Specified by:
        addNot in interface SelectorContainer
        Parameters:
        selector - the NotSelector to add.
      • addNone

        public void addNone​(NoneSelector selector)
        Add a "None" selector entry on the selector list.
        Specified by:
        addNone in interface SelectorContainer
        Parameters:
        selector - the NoneSelector to add.
      • addMajority

        public void addMajority​(MajoritySelector selector)
        Add a majority selector entry on the selector list.
        Specified by:
        addMajority in interface SelectorContainer
        Parameters:
        selector - the MajoritySelector to add.
      • addDate

        public void addDate​(DateSelector selector)
        Add a selector date entry on the selector list.
        Specified by:
        addDate in interface SelectorContainer
        Parameters:
        selector - the DateSelector to add.
      • addSize

        public void addSize​(SizeSelector selector)
        Add a selector size entry on the selector list.
        Specified by:
        addSize in interface SelectorContainer
        Parameters:
        selector - the SizeSelector to add.
      • addDifferent

        public void addDifferent​(DifferentSelector selector)
        Add a DifferentSelector entry on the selector list.
        Specified by:
        addDifferent in interface SelectorContainer
        Parameters:
        selector - the DifferentSelector to add.
      • addFilename

        public void addFilename​(FilenameSelector selector)
        Add a selector filename entry on the selector list.
        Specified by:
        addFilename in interface SelectorContainer
        Parameters:
        selector - the FilenameSelector to add.
      • addType

        public void addType​(TypeSelector selector)
        Add a selector type entry on the selector list.
        Specified by:
        addType in interface SelectorContainer
        Parameters:
        selector - the TypeSelector to add.
      • addCustom

        public void addCustom​(ExtendSelector selector)
        Add an extended selector entry on the selector list.
        Specified by:
        addCustom in interface SelectorContainer
        Parameters:
        selector - the ExtendSelector to add.
      • addContains

        public void addContains​(ContainsSelector selector)
        Add a contains selector entry on the selector list.
        Specified by:
        addContains in interface SelectorContainer
        Parameters:
        selector - the ContainsSelector to add.
      • addPresent

        public void addPresent​(PresentSelector selector)
        Add a present selector entry on the selector list.
        Specified by:
        addPresent in interface SelectorContainer
        Parameters:
        selector - the PresentSelector to add.
      • addDepth

        public void addDepth​(DepthSelector selector)
        Add a depth selector entry on the selector list.
        Specified by:
        addDepth in interface SelectorContainer
        Parameters:
        selector - the DepthSelector to add.
      • addDepend

        public void addDepend​(DependSelector selector)
        Add a depends selector entry on the selector list.
        Specified by:
        addDepend in interface SelectorContainer
        Parameters:
        selector - the DependSelector to add.
      • addModified

        public void addModified​(ModifiedSelector selector)
        Add the modified selector.
        Specified by:
        addModified in interface SelectorContainer
        Parameters:
        selector - the ModifiedSelector to add.
        Since:
        Ant 1.6
      • addExecutable

        public void addExecutable​(ExecutableSelector e)
        Parameters:
        e - ExecutableSelector
        Since:
        1.10.0
      • addSymlink

        public void addSymlink​(SymlinkSelector e)
        Parameters:
        e - SymlinkSelector
        Since:
        1.10.0
      • addOwnedBy

        public void addOwnedBy​(OwnedBySelector o)
        Parameters:
        o - OwnedBySelector
        Since:
        1.10.0
      • addPosixGroup

        public void addPosixGroup​(PosixGroupSelector o)
        Parameters:
        o - PosixGroupSelector
        Since:
        1.10.4
      • addPosixPermissions

        public void addPosixPermissions​(PosixPermissionsSelector o)
        Parameters:
        o - PosixPermissionsSelector
        Since:
        1.10.4
      • add

        public void add​(FileSelector selector)
        Add an arbitrary selector.
        Specified by:
        add in interface SelectorContainer
        Parameters:
        selector - the FileSelector to add.
        Since:
        Ant 1.6
      • toString

        public java.lang.String toString()
        Returns included files as a list of semicolon-separated filenames.
        Overrides:
        toString in class DataType
        Returns:
        a String of included filenames.
      • clone

        public java.lang.Object clone()
        Creates 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 DataType
        Returns:
        the cloned object
        Since:
        Ant 1.6
      • mergeIncludes

        public java.lang.String[] mergeIncludes​(Project p)
        Get the merged include patterns for this AbstractFileSet.
        Parameters:
        p - the project to use.
        Returns:
        the include patterns of the default pattern set and all nested patternsets.
        Since:
        Ant 1.7
      • mergeExcludes

        public java.lang.String[] mergeExcludes​(Project p)
        Get the merged exclude patterns for this AbstractFileSet.
        Parameters:
        p - the project to use.
        Returns:
        the exclude patterns of the default pattern set and all nested patternsets.
        Since:
        Ant 1.7
      • mergePatterns

        public PatternSet mergePatterns​(Project p)
        Get the merged patterns for this AbstractFileSet.
        Parameters:
        p - the project to use.
        Returns:
        the default patternset merged with the additional sets in a new PatternSet instance.
        Since:
        Ant 1.7
      • dieOnCircularReference

        protected void dieOnCircularReference​(java.util.Stack<java.lang.Object> stk,
                                              Project p)
                                       throws BuildException
        Description copied from class: DataType
        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).

        If one is included, throw a BuildException created by circularReference.

        This implementation is appropriate only for a DataType that cannot hold other DataTypes as children.

        The general contract of this method is that it shouldn't do anything if DataType.checked is true and set it to true on exit.

        Overrides:
        dieOnCircularReference in class DataType
        Parameters:
        stk - the stack of references to check.
        p - the project to use to dereference the references.
        Throws:
        BuildException - on error.