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 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.