org.apache.commons.net.ftp.parser
Class UnixFTPEntryParser

java.lang.Object
  extended by org.apache.commons.net.ftp.FTPFileEntryParserImpl
      extended by org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
          extended by org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
              extended by org.apache.commons.net.ftp.parser.UnixFTPEntryParser
All Implemented Interfaces:
Configurable, FTPFileEntryParser

public class UnixFTPEntryParser
extends ConfigurableFTPFileEntryParserImpl

Implementation FTPFileEntryParser and FTPFileListParser for standard Unix Systems. This class is based on the logic of Daniel Savarese's DefaultFTPListParser, but adapted to use regular expressions and to fit the new FTPFileEntryParser interface.

Version:
$Id: UnixFTPEntryParser.java 1299238 2012-03-10 17:12:28Z sebb $
See Also:
FTPFileEntryParser (for usage instructions)

Field Summary
static FTPClientConfig NUMERIC_DATE_CONFIG
          Some Linux distributions are now shipping an FTP server which formats file listing dates in an all-numeric format: "yyyy-MM-dd HH:mm.
 
Fields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
_matcher_
 
Constructor Summary
UnixFTPEntryParser()
          The default constructor for a UnixFTPEntryParser object.
UnixFTPEntryParser(FTPClientConfig config)
          This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.
 
Method Summary
protected  FTPClientConfig getDefaultConfiguration()
          Defines a default configuration to be used when this class is instantiated without a FTPClientConfig parameter being specified.
 FTPFile parseFTPEntry(String entry)
          Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of an FTPFile instance.
 List<String> preParse(List<String> original)
          Preparse the list to discard "total nnn" lines
 
Methods inherited from class org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
configure, parseTimestamp
 
Methods inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
getGroupCnt, getGroupsAsString, group, matches, setRegex
 
Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
readNextEntry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NUMERIC_DATE_CONFIG

public static final FTPClientConfig NUMERIC_DATE_CONFIG
Some Linux distributions are now shipping an FTP server which formats file listing dates in an all-numeric format: "yyyy-MM-dd HH:mm. This is a very welcome development, and hopefully it will soon become the standard. However, since it is so new, for now, and possibly forever, we merely accomodate it, but do not make it the default.

For now end users may specify this format only via UnixFTPEntryParser(FTPClientConfig). Steve Cohen - 2005-04-17

Constructor Detail

UnixFTPEntryParser

public UnixFTPEntryParser()
The default constructor for a UnixFTPEntryParser object.

Throws:
IllegalArgumentException - Thrown if the regular expression is unparseable. Should not be seen under normal conditions. It it is seen, this is a sign that REGEX is not a valid regular expression.

UnixFTPEntryParser

public UnixFTPEntryParser(FTPClientConfig config)
This constructor allows the creation of a UnixFTPEntryParser object with something other than the default configuration.

Parameters:
config - The configuration object used to configure this parser.
Throws:
IllegalArgumentException - Thrown if the regular expression is unparseable. Should not be seen under normal conditions. It it is seen, this is a sign that REGEX is not a valid regular expression.
Since:
1.4
Method Detail

preParse

public List<String> preParse(List<String> original)
Preparse the list to discard "total nnn" lines

Specified by:
preParse in interface FTPFileEntryParser
Overrides:
preParse in class FTPFileEntryParserImpl
Parameters:
original - Original list after it has been created from the server stream
Returns:
original unmodified.

parseFTPEntry

public FTPFile parseFTPEntry(String entry)
Parses a line of a unix (standard) FTP server file listing and converts it into a usable format in the form of an FTPFile instance. If the file listing line doesn't describe a file, null is returned, otherwise a FTPFile instance representing the files in the directory is returned.

Parameters:
entry - A line of text from the file listing
Returns:
An FTPFile instance corresponding to the supplied entry

getDefaultConfiguration

protected FTPClientConfig getDefaultConfiguration()
Defines a default configuration to be used when this class is instantiated without a FTPClientConfig parameter being specified.

Specified by:
getDefaultConfiguration in class ConfigurableFTPFileEntryParserImpl
Returns:
the default configuration for this parser.


Copyright © 2001-2012 The Apache Software Foundation. All Rights Reserved.