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 java.lang.Object

an AntFTPFile is a representation of a remote file

Since:
Ant 1.6

Constructor Summary
FTP.FTPDirectoryScanner.AntFTPFile(FTP.FTPDirectoryScanner.AntFTPFile parent, java.lang.String path)
          other constructor
FTP.FTPDirectoryScanner.AntFTPFile(org.apache.commons.net.ftp.FTPClient client, org.apache.commons.net.ftp.FTPFile ftpFile, java.lang.String curpwd)
          constructor
 
Method Summary
 boolean exists()
          find out if the file exists
 java.lang.String getAbsolutePath()
          find out the absolute path of the file
protected  org.apache.commons.net.ftp.FTPClient getClient()
          return the attached FTP client object.
 java.lang.String getCurpwd()
          returns the path of the directory containing the AntFTPFile.
 java.lang.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, java.lang.String lastpathelement)
          find a file matching a string in an array of FTPFile.
 java.lang.String getLink()
          if the file is a symbolic link, find out to what it is pointing
 java.lang.String getName()
          get the name of the file
 java.lang.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(java.lang.String curpwd)
          sets the current path of an AntFTPFile
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FTP.FTPDirectoryScanner.AntFTPFile

public FTP.FTPDirectoryScanner.AntFTPFile(org.apache.commons.net.ftp.FTPClient client,
                                          org.apache.commons.net.ftp.FTPFile ftpFile,
                                          java.lang.String curpwd)
constructor

Parameters:
client - ftp client variable
ftpFile - the file
curpwd - absolute remote path where the file is found

FTP.FTPDirectoryScanner.AntFTPFile

public FTP.FTPDirectoryScanner.AntFTPFile(FTP.FTPDirectoryScanner.AntFTPFile parent,
                                          java.lang.String path)
other constructor

Parameters:
parent - the parent file
path - a relative path to the parent file
Method Detail

exists

public boolean exists()
find out if the file exists

Returns:
true if the file exists

getLink

public java.lang.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 java.lang.String getName()
get the name of the file

Returns:
the name of the file

getAbsolutePath

public java.lang.String getAbsolutePath()
find out the absolute path of the file

Returns:
absolute path as string

getFastRelativePath

public java.lang.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 java.lang.String getRelativePath()
                                 throws java.io.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:
java.io.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,
                                                  java.lang.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(java.lang.String curpwd)
sets the current path of an AntFTPFile

Parameters:
curpwd - the current path one wants to set

getCurpwd

public java.lang.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

isTraverseSymlinks

public boolean isTraverseSymlinks()
                           throws java.io.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:
java.io.IOException - if one of the change directory or directory listing operations fails
BuildException - if a path component in the relative path cannot be found.


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.