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

Class FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPFile

protected class FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPFile extends Object

an AntFTPFile is a representation of a remote file

Since: Ant 1.6

Constructor Summary
AntFTPFile(FTPClient client, FTPFile ftpFile, String curpwd)
constructor
AntFTPFile(FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPFile parent, String path)
other constructor
Method Summary
booleanexists()
find out if the file exists
StringgetAbsolutePath()
find out the absolute path of the file
protected FTPClientgetClient()
return the attached FTP client object.
StringgetCurpwd()
returns the path of the directory containing the AntFTPFile. of the full path of the file itself in case of AntFTPRootFile
StringgetCurpwdPlusFileSep()
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.
StringgetFastRelativePath()
find out the relative path assuming that the path used to construct this AntFTPFile was spelled properly with regards to case.
FTPFilegetFile(FTPFile[] theFiles, String lastpathelement)
find a file matching a string in an array of FTPFile.
StringgetLink()
if the file is a symbolic link, find out to what it is pointing
StringgetName()
get the name of the file
StringgetRelativePath()
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.
booleanisDirectory()
tell if a file is a directory. note that it will return false for symbolic links pointing to directories.
booleanisSymbolicLink()
tell if a file is a symbolic link
booleanisTraverseSymlinks()
find out if a symbolic link is encountered in the relative path of this file from rootPath.
protected voidsetCurpwd(String curpwd)
sets the current path of an AntFTPFile
StringtoString()
Get a string rep of this object.

Constructor Detail

AntFTPFile

public AntFTPFile(FTPClient client, 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(FTPTaskMirrorImpl.FTPDirectoryScanner.AntFTPFile parent, 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

getAbsolutePath

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

Returns: absolute path as string

getClient

protected FTPClient getClient()
return the attached FTP client object. Warning : this instance is really shared with the enclosing class.

Returns: FTP client

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

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

getFile

public FTPFile getFile(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.

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

getRelativePath

public String getRelativePath()
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.

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

isTraverseSymlinks

public boolean isTraverseSymlinks()
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.

setCurpwd

protected void setCurpwd(String curpwd)
sets the current path of an AntFTPFile

Parameters: curpwd the current path one wants to set

toString

public String toString()
Get a string rep of this object.

Returns: a string containing the pwd and the file.