org.apache.commons.net.ftp.parser
Class DefaultFTPFileEntryParserFactory
java.lang.Object
org.apache.commons.net.ftp.parser.DefaultFTPFileEntryParserFactory
- FTPFileEntryParserFactory
public class DefaultFTPFileEntryParserFactory
extends java.lang.Object
This is the default implementation of the
FTPFileEntryParserFactory interface. This is the
implementation that will be used by
org.apache.commons.net.ftp.FTPClient.listFiles()
if no other implementation has been specified.
createFileEntryParser
public FTPFileEntryParser createFileEntryParser(String key)
This default implementation of the FTPFileEntryParserFactory
interface works according to the following logic:
First it attempts to interpret the supplied key as a fully
qualified classname of a class implementing the
FTPFileEntryParser interface. If that succeeds, a parser
object of this class is instantiated and is returned;
otherwise it attempts to interpret the key as an identirier
commonly used by the FTP SYST command to identify systems.
If
key
is not recognized as a fully qualified
classname known to the system, this method will then attempt
to see whether it
contains a string identifying one of
the known parsers. This comparison is
case-insensitive.
The intent here is where possible, to select as keys strings
which are returned by the SYST command on the systems which
the corresponding parser successfully parses. This enables
this factory to be used in the auto-detection system.
- createFileEntryParser in interface FTPFileEntryParserFactory
key
- should be a fully qualified classname corresponding to
a class implementing the FTPFileEntryParser interface
OR
a string containing (case-insensitively) one of the
following keywords:
- the FTPFileEntryParser corresponding to the supplied key.
createFileEntryParser
public FTPFileEntryParser createFileEntryParser(FTPClientConfig config)
throws ParserInitializationException
Implementation extracts a key from the supplied
FTPClientConfig
parameter and creates an object implementing the
interface FTPFileEntryParser and uses the supplied configuration
to configure it.
Note that this method will generally not be called in scenarios
that call for autodetection of parser type but rather, for situations
where the user knows that the server uses a non-default configuration
and knows what that configuration is.
- createFileEntryParser in interface FTPFileEntryParserFactory
- the @link FTPFileEntryParser FTPFileEntryParser} so created.
createVMSVersioningFTPEntryParser
public FTPFileEntryParser createVMSVersioningFTPEntryParser()