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

Class FTP.FTPDirectoryScanner.AntFTPFile

Enclosing Class:
FTP.FTPDirectoryScanner
Known Direct Subclasses:
FTP.FTPDirectoryScanner.AntFTPRootFile

protected class FTP.FTPDirectoryScanner.AntFTPFile
extends java.lang.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(FTP.FTPDirectoryScanner.AntFTPFile parent, String path)
other constructor

Method Summary

boolean
exists()
find out if the file exists
String
getAbsolutePath()
find out the absolute path of the file
protected FTPClient
getClient()
return the attached FTP client object.
String
getCurpwd()
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.
FTPFile
getFile(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

Constructor Details

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

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

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()
            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:
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()
            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:
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

Copyright © 2000-2006 Apache Software Foundation. All Rights Reserved.