org.apache.commons.net.ftp
Class FTPFileList

java.lang.Object
  extended byorg.apache.commons.net.ftp.FTPFileList

Deprecated. This class is deprecated as of version 1.2 and will be removed in version 2.0 -- use FTPFileParseEngine instead.

public class FTPFileList
extends java.lang.Object

This class encapsulates a listing of files from an FTP server. It is initialized with an input stream which is read and the input split into lines, each of which (after some possible initial verbiage) represents a file on the FTP server. A parser is also supplied, which is used to iterate through the internal list of lines parsing each into an FTPFile object which is returned to the caller of the iteration methods. This parser may be replaced with another, allowing the same list to be parsed with different parsers. Parsing takes place on an as-needed basis, basically, the first time a position is iterated over. This happens at the time of iteration, not prior to it as the older (FTPClient.listFiles() methods did, which required a bigger memory hit.

Version:
$Id: FTPFileList.java,v 1.13 2004/04/21 23:30:33 scohen Exp $
Author:
Steve Cohen
See Also:
FTPClient.createFileList(org.apache.commons.net.ftp.FTPFileEntryParser), FTPFileIterator, FTPFileEntryParser, FTPListParseEngine

Field Summary
private static int EMPTY_DIR
          Deprecated. private status code for an empty directory
private  java.util.LinkedList lines
          Deprecated. storage for the raw lines of input read from the FTP server
private  FTPFileEntryParser parser
          Deprecated. the FTPFileEntryParser assigned to be used with this lister
 
Constructor Summary
private FTPFileList(FTPFileEntryParser parser)
          Deprecated. The only constructor for FTPFileList, private because construction only invoked at create()
 
Method Summary
static FTPFileList create(java.io.InputStream stream, FTPFileEntryParser parser)
          Deprecated. The only way to create an FTPFileList object.
 FTPFile[] getFiles()
          Deprecated. returns an array of FTPFile objects for all the files in the directory listing
(package private)  java.util.List getLines()
          Deprecated. Package private accessor for the collection of raw input lines.
(package private)  FTPFileEntryParser getParser()
          Deprecated. Accessor for this object's default parser.
 FTPFileIterator iterator()
          Deprecated. create an iterator over this list using the parser with which this list was initally created
 FTPFileIterator iterator(FTPFileEntryParser parser)
          Deprecated. create an iterator over this list using the supplied parser
 void readStream(java.io.InputStream stream)
          Deprecated. internal method for reading the input into the lines vector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

lines

private java.util.LinkedList lines
Deprecated. 
storage for the raw lines of input read from the FTP server


parser

private FTPFileEntryParser parser
Deprecated. 
the FTPFileEntryParser assigned to be used with this lister


EMPTY_DIR

private static final int EMPTY_DIR
Deprecated. 
private status code for an empty directory

See Also:
Constant Field Values
Constructor Detail

FTPFileList

private FTPFileList(FTPFileEntryParser parser)
Deprecated. 
The only constructor for FTPFileList, private because construction only invoked at create()

Parameters:
parser - a FTPFileEntryParser value that knows how to parse the entries returned by a particular FTP site.
Method Detail

create

public static FTPFileList create(java.io.InputStream stream,
                                 FTPFileEntryParser parser)
                          throws java.io.IOException
Deprecated. 
The only way to create an FTPFileList object. Invokes the private constructor and then reads the stream supplied stream to build the intermediate array of "lines" which will later be parsed into FTPFile object.

Parameters:
stream - The input stream created by reading the socket on which the output of the LIST command was returned
parser - the default FTPFileEntryParser to be used by this object. This may later be changed using the init() method.
Returns:
the FTPFileList created, with an initialized of unparsed lines of output. Will be null if the listing cannot be read from the stream.
Throws:
java.io.IOException - Thrown on any failure to read from the socket.

readStream

public void readStream(java.io.InputStream stream)
                throws java.io.IOException
Deprecated. 
internal method for reading the input into the lines vector.

Parameters:
stream - The socket stream on which the input will be read.
Throws:
java.io.IOException - thrown on any failure to read the stream

getParser

FTPFileEntryParser getParser()
Deprecated. 
Accessor for this object's default parser.

Returns:
this object's default parser.

getLines

java.util.List getLines()
Deprecated. 
Package private accessor for the collection of raw input lines.

Returns:
vector containing all the raw input lines returned from the FTP server

iterator

public FTPFileIterator iterator()
Deprecated. 
create an iterator over this list using the parser with which this list was initally created

Returns:
an iterator over this list using the list's default parser.

iterator

public FTPFileIterator iterator(FTPFileEntryParser parser)
Deprecated. 
create an iterator over this list using the supplied parser

Parameters:
parser - The user-supplied parser with which the list is to be iterated, may be different from this list's default parser.
Returns:
an iterator over this list using the supplied parser.

getFiles

public FTPFile[] getFiles()
Deprecated. 
returns an array of FTPFile objects for all the files in the directory listing

Returns:
an array of FTPFile objects for all the files in the directory listinge