net.sf.hermesftp.cmd.impl
Class FtpCmdList

java.lang.Object
  extended by net.sf.hermesftp.cmd.AbstractFtpCmd
      extended by net.sf.hermesftp.cmd.AbstractFtpCmdList
          extended by net.sf.hermesftp.cmd.impl.FtpCmdList
All Implemented Interfaces:
java.lang.Cloneable, FtpCmd, FtpConstants

public class FtpCmdList
extends AbstractFtpCmdList

LIST (LIST)

This command causes a list to be sent from the server to the passive DTP. If the pathname specifies a directory or other group of files, the server should transfer a list of files in the specified directory. If the pathname specifies a file then the server should send current information on the file. A null argument implies the user's current working or default directory. The data transfer is over the data connection in type ASCII or type EBCDIC. (The user must ensure that the TYPE is appropriately ASCII or EBCDIC). Since the information on a file may vary widely from system to system, this information may be hard to use automatically in a program, but may be quite useful to a human user.

[Excerpt from RFC-959, Postel and Reynolds]

Author:
Lars Behnke

Field Summary
 
Fields inherited from interface net.sf.hermesftp.common.FtpConstants
ATTR_CLIENT_NAME, ATTR_DATA_PROT, ATTR_FILE_OFFSET, ATTR_FORCE_UTF8, ATTR_GROUP_DATA, ATTR_LOGIN_TIME, ATTR_RENAME_FILE, ATTR_RESTART_MARKERS, ATTR_SSL, ATTR_USER_DATA, BYTE_LENGTH, BYTE_MASK, DEFAULT_BEAN_RES, DEFAULT_KEYSTORE, DEFAULT_KEYSTORE_PASS, DT_ASCII, DT_BINARY, DT_EBCDIC, HERMES_HOME, MILLI, MODE_BLOCK, MODE_COMPRESS, MODE_STREAM, MODE_ZIP, MSG_GOODBYE, MSG150, MSG200, MSG200_NOTED, MSG200_PBSZ, MSG200_SIZE, MSG200_TYPE, MSG202, MSG211_FEAT_ENTRY, MSG211_FEAT_FOOTER, MSG211_FEAT_HEADER, MSG211_STAT, MSG213_SIZE, MSG213_TIME, MSG214, MSG220, MSG220_WEL, MSG226, MSG227, MSG229, MSG230, MSG234, MSG250, MSG257, MSG331, MSG350, MSG350_REST, MSG421, MSG425, MSG426, MSG431, MSG450, MSG451, MSG500, MSG500_CMD, MSG501, MSG501_PATH, MSG501_SIZE, MSG503, MSG503_USR, MSG504, MSG522, MSG530, MSG530_AUTH, MSG534, MSG536, MSG550, MSG550_COMM, MSG550_EXISTS, MSG550_MSG, MSG550_NOTEMPTY, MSG550_PERM, MSG553, OPT_ALLOWED_PASSIVE_PORTS, OPT_BUFFER_SIZE, OPT_CHARSET_ASCII, OPT_CHARSET_EBCDIC, OPT_EMULATE_UNIX, OPT_FTP_PORT, OPT_IPV4_BLACK_LIST, OPT_IPV6_BLACK_LIST, OPT_MAX_CONNECTIONS, OPT_MAX_DOWNLOAD_RATE, OPT_MAX_IDLE_SECONDS, OPT_MAX_UPLOAD_RATE, OPT_MSG_GOODBYE, OPT_MSG_WELCOME, OPT_REMOTE_DIR, OPT_SSL_ALLOW_EXPLICIT, OPT_SSL_ALLOW_IMPLICIT, OPT_SSL_CIPHER_SUITES, OPT_SSL_FORCE, OPT_SSL_KEYSTORE_FILE, OPT_SSL_KEYSTORE_PASS, OPT_SSL_PORT_IMPLICIT, PRIV_NONE, PRIV_READ, PRIV_READ_WRITE, PRIV_WRITE, PWD, SEPARATOR, SERVER_STATUS_HALTED, SERVER_STATUS_INIT, SERVER_STATUS_READY, SERVER_STATUS_UNDEF, SPACE, STAT_BYTES_DOWNLOADED, STAT_BYTES_UPLOADED, STAT_DOWNLOAD_RATE, STAT_FILES_DOWNLOADED, STAT_FILES_UPLOADED, STAT_UPLOAD_RATE, STRUCT_FILE, STRUCT_RECORD, TYPE_NAMES, WILDCARD
 
Constructor Summary
FtpCmdList()
           
 
Method Summary
protected  void doPrintFileInfo(java.io.PrintWriter out, java.io.File file, FtpSessionContext ctx)
          Lists the contents of the current working directory if no arugment was passed.
 java.lang.String getHelp()
          Returns a short help text for the command.
 boolean isAuthenticationRequired()
          Returns whether authentication is needed or not.
 
Methods inherited from class net.sf.hermesftp.cmd.AbstractFtpCmdList
execute
 
Methods inherited from class net.sf.hermesftp.cmd.AbstractFtpCmd
getAbsPath, getAndResetFileOffset, getArguments, getCtx, getPathArg, getPermission, getToken, handleAsyncCmd, isResponded, msg, msg, msg, msgOut, msgOut, msgOut, out, setArguments, setCtx, setToken
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FtpCmdList

public FtpCmdList()
Method Detail

getHelp

public java.lang.String getHelp()
Returns a short help text for the command.

Returns:
The help text.

doPrintFileInfo

protected void doPrintFileInfo(java.io.PrintWriter out,
                               java.io.File file,
                               FtpSessionContext ctx)
                        throws java.io.IOException
Lists the contents of the current working directory if no arugment was passed. Or information/contents about the passed file/path.

Example directory in unix mode:

                  drw-rw-rw-   1 user     group           0 Jan 21 19:53 .
                  drw-rw-rw-   1 user     group           0 Jan 21 19:53 ..
                  -rw-rw-rw-   1 user     group       76806 Dec 20 15:17 FILELOAD.pdf
                  drw-rw-rw-   1 user     group           0 Jan 21 16:29 rr
                  -rw-rw-rw-   1 user     group     5037072 Jan 19 20:40 spybotsd14.exe
                  -rw-rw-rw-   1 user     group        4951 Dec 20 15:18 vvs01_486400002bcd.pdf
 
Filezilla:
                  drwxr-xr-x 1 ftp ftp              0 Apr 22 11:46 hermesftp-0.3
                  -rw-r--r-- 1 ftp ftp           2327 Mar 29 14:04 slapd.conf
 

Specified by:
doPrintFileInfo in class AbstractFtpCmdList
Parameters:
out - The output stream.
file - The file
ctx - The FTP context.
Throws:
java.io.IOException - Error on data transfer.

isAuthenticationRequired

public boolean isAuthenticationRequired()
Returns whether authentication is needed or not.

Returns:
True, if the command requires authentication.


Copyright © 2005-2007 Lars Behnke. All Rights Reserved.