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

## Class FTPTaskMirrorImpl.FTPDirectoryScanner

- java.lang.Object
- - org.apache.tools.ant.DirectoryScanner
  - - org.apache.tools.ant.taskdefs.optional.net.FTPTaskMirrorImpl.FTPDirectoryScanner

- All Implemented Interfaces:
    `FileScanner`, `ResourceFactory`, `SelectorScanner`
  Enclosing class:
    FTPTaskMirrorImpl

      protected class FTPTaskMirrorImpl.FTPDirectoryScanner
      extends DirectoryScanner

  internal class allowing to read the contents of a remote file system using the FTP protocol used in particular for ftp get operations differences with DirectoryScanner "" (the root of the fileset) is never included in the included directories followSymlinks defaults to false

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPFile` | an AntFTPFile is a representation of a remote file
    `protected class` | `FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPRootFile` | special class to represent the remote directory itself

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected org.apache.commons.net.ftp.FTPClient` | `ftp` |

    - ### Fields inherited from class org.apache.tools.ant.DirectoryScanner

      `basedir, DEFAULTEXCLUDES, dirsDeselected, dirsExcluded, dirsIncluded, dirsNotIncluded, DOES_NOT_EXIST_POSTFIX, errorOnMissingDir, everythingIncluded, excludes, filesDeselected, filesExcluded, filesIncluded, filesNotIncluded, haveSlowResults, includes, isCaseSensitive, MAX_LEVELS_OF_SYMLINKS, selectors`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FTPDirectoryScanner​(org.apache.commons.net.ftp.FTPClient ftp)` | constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `org.apache.commons.net.ftp.FTPFile[]` | `listFiles​(java.lang.String directory)` | cd into one directory and list the files present in one directory.
    `org.apache.commons.net.ftp.FTPFile[]` | `listFiles​(java.lang.String directory, boolean changedir)` | list the files present in one directory.
    `void` | `scan()` | scans the remote directory, storing internally the included files, directories, ...
    `protected void` | `scandir​(java.lang.String dir, java.lang.String vpath, boolean fast)` | scans a particular directory.

    - ### Methods inherited from class org.apache.tools.ant.DirectoryScanner

      `addDefaultExclude, addDefaultExcludes, addExcludes, clearResults, couldHoldIncluded, getBasedir, getDefaultExcludes, getDeselectedDirectories, getDeselectedFiles, getExcludedDirectories, getExcludedFiles, getIncludedDirectories, getIncludedDirsCount, getIncludedFiles, getIncludedFilesCount, getNotFollowedSymlinks, getNotIncludedDirectories, getNotIncludedFiles, getResource, isCaseSensitive, isEverythingIncluded, isExcluded, isFollowSymlinks, isIncluded, isSelected, match, match, matchPath, matchPath, matchPatternStart, matchPatternStart, removeDefaultExclude, resetDefaultExcludes, scandir, setBasedir, setBasedir, setCaseSensitive, setErrorOnMissingDir, setExcludes, setFollowSymlinks, setIncludes, setMaxLevelsOfSymlinks, setSelectors, slowScan`

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

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

- - ### Field Detail

    - #### ftp

          protected org.apache.commons.net.ftp.FTPClient ftp

  - ### Constructor Detail

    - #### FTPDirectoryScanner

          public FTPDirectoryScanner​(org.apache.commons.net.ftp.FTPClient ftp)

      constructor
      Parameters:
        `ftp` - ftpclient object

  - ### Method Detail

    - #### scan

          public void scan()

      scans the remote directory, storing internally the included files, directories, ...
      Specified by:
        `scan` in interface `FileScanner`
      Overrides:
        `scan` in class `DirectoryScanner`

    - #### scandir

          protected void scandir​(java.lang.String dir,
                                 java.lang.String vpath,
                                 boolean fast)

      scans a particular directory. populates the scannedDirs cache.
      Parameters:
        `dir` - directory to scan
        `vpath` - relative path to the base directory of the remote fileset always ended with a File.separator
        `fast` - seems to be always true in practice

    - #### listFiles

          public org.apache.commons.net.ftp.FTPFile[] listFiles​(java.lang.String directory,
                                                                boolean changedir)

      list the files present in one directory.
      Parameters:
        `directory` - full path on the remote side
        `changedir` - if true change to directory directory before listing
      Returns:
        array of FTPFile

    - #### listFiles

          public org.apache.commons.net.ftp.FTPFile[] listFiles​(java.lang.String directory)

      cd into one directory and list the files present in one directory.
      Parameters:
        `directory` - full path on the remote side
      Returns:
        array of FTPFile