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

# Class FTP.FTPDirectoryScanner.AntFTPFile

java.lang.Object
org.apache.tools.ant.taskdefs.optional.net.FTP.FTPDirectoryScanner.AntFTPFile

Direct Known Subclasses:
  `FTP.FTPDirectoryScanner.AntFTPRootFile`

Enclosing class:
  `FTP.FTPDirectoryScanner`

protected class FTP.FTPDirectoryScanner.AntFTPFile extends Object
an AntFTPFile is a representation of a remote file

Since:
  Ant 1.6

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AntFTPFile(org.apache.commons.net.ftp.FTPClient client, org.apache.commons.net.ftp.FTPFile ftpFile, String curpwd)`
  constructor
  `AntFTPFile(FTP.FTPDirectoryScanner.AntFTPFile parent, String path)`
  other constructor

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `exists()`
  find out if the file exists
  `String`
  `getAbsolutePath()`
  find out the absolute path of the file
  `protected org.apache.commons.net.ftp.FTPClient`
  `getClient()`
  return the attached FTP client object.
  `String`
  `getCurpwd()`
  returns the path of the directory containing the AntFTPFile.
  `String`
  `getCurpwdPlusFileSep()`
  returns the path of the directory containing the AntFTPFile.
  `String`
  `getFastRelativePath()`
  find out the relative path assuming that the path used to construct this AntFTPFile was spelled properly with regards to case.
  `org.apache.commons.net.ftp.FTPFile`
  `getFile(org.apache.commons.net.ftp.FTPFile[] theFiles, String lastpathelement)`
  find a file matching a string in an array of FTPFile.
  `String`
  `getLink()`
  if the file is a symbolic link, find out to what it is pointing
  `String`
  `getName()`
  get the name of the file
  `String`
  `getRelativePath()`
  find out the relative path to the rootPath of the enclosing scanner.
  `boolean`
  `isDirectory()`
  tell if a file is a directory.
  `boolean`
  `isSymbolicLink()`
  tell if a file is a symbolic link
  `boolean`
  `isTraverseSymlinks()`
  find out if a symbolic link is encountered in the relative path of this file from rootPath.
  `protected void`
  `setCurpwd(String curpwd)`
  sets the current path of an AntFTPFile
  `String`
  `toString()`
  Get a string rep of this object.

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

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

- ## Constructor Details

  - ### AntFTPFile

    public AntFTPFile(org.apache.commons.net.ftp.FTPClient client, org.apache.commons.net.ftp.FTPFile ftpFile, String curpwd)
    constructor
    Parameters:
      `client` - ftp client variable
      `ftpFile` - the file
      `curpwd` - absolute remote path where the file is found

  - ### AntFTPFile

    public AntFTPFile(FTP.FTPDirectoryScanner.AntFTPFile parent, String path)
    other constructor
    Parameters:
      `parent` - the parent file
      `path` - a relative path to the parent file

- ## Method Details

  - ### exists

    public boolean exists()
    find out if the file exists
    Returns:
      true if the file exists

  - ### getLink

    public String getLink()
    if the file is a symbolic link, find out to what it is pointing
    Returns:
      the target of the symbolic link

  - ### getName

    public String getName()
    get the name of the file
    Returns:
      the name of the file

  - ### getAbsolutePath

    public String getAbsolutePath()
    find out the absolute path of the file
    Returns:
      absolute path as string

  - ### getFastRelativePath

    public String getFastRelativePath()
    find out the relative path assuming that the path used to construct this AntFTPFile was spelled properly with regards to case. This is OK on a case sensitive system such as UNIX
    Returns:
      relative path

  - ### getRelativePath

    public String getRelativePath() throws IOException, BuildException
    find out the relative path to the rootPath of the enclosing scanner. this relative path is spelled exactly like on disk, for instance if the AntFTPFile has been instantiated as ALPHA, but the file is really called alpha, this method will return alpha. If a symbolic link is encountered, it is followed, but the name of the link rather than the name of the target is returned. (ie does not behave like File.getCanonicalPath())
    Returns:
      relative path, separated by remoteFileSep
    Throws:
      `IOException` - if a change directory fails, ...
      `BuildException` - if one of the components of the relative path cannot be found.

  - ### getFile

    public org.apache.commons.net.ftp.FTPFile getFile(org.apache.commons.net.ftp.FTPFile[] theFiles, String lastpathelement)
    find a file matching a string in an array of FTPFile. This method will find "alpha" when requested for "ALPHA" if and only if the caseSensitive attribute is set to false. When caseSensitive is set to true, only the exact match is returned.
    Parameters:
      `theFiles` - array of files
      `lastpathelement` - the file name being sought
    Returns:
      null if the file cannot be found, otherwise return the matching file.

  - ### isDirectory

    public boolean isDirectory()
    tell if a file is a directory. note that it will return false for symbolic links pointing to directories.
    Returns:
      `true` for directories

  - ### isSymbolicLink

    public boolean isSymbolicLink()
    tell if a file is a symbolic link
    Returns:
      `true` for symbolic links

  - ### getClient

    protected org.apache.commons.net.ftp.FTPClient getClient()
    return the attached FTP client object. Warning : this instance is really shared with the enclosing class.
    Returns:
      FTP client

  - ### setCurpwd

    protected void setCurpwd(String curpwd)
    sets the current path of an AntFTPFile
    Parameters:
      `curpwd` - the current path one wants to set

  - ### getCurpwd

    public String getCurpwd()
    returns the path of the directory containing the AntFTPFile. of the full path of the file itself in case of AntFTPRootFile
    Returns:
      parent directory of the AntFTPFile

  - ### getCurpwdPlusFileSep

    public String getCurpwdPlusFileSep()
    returns the path of the directory containing the AntFTPFile. of the full path of the file itself in case of AntFTPRootFile and appends the remote file separator if necessary.
    Returns:
      parent directory of the AntFTPFile
    Since:
      Ant 1.8.2

  - ### isTraverseSymlinks

    public boolean isTraverseSymlinks() throws IOException, BuildException
    find out if a symbolic link is encountered in the relative path of this file from rootPath.
    Returns:
      `true` if a symbolic link is encountered in the relative path.
    Throws:
      `IOException` - if one of the change directory or directory listing operations fails
      `BuildException` - if a path component in the relative path cannot be found.

  - ### toString

    public String toString()
    Get a string rep of this object.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string containing the pwd and the file.