org.apache.commons.net.ftp.parser

Class FTPTimestampParserImpl

Implemented Interfaces:
Configurable, FTPTimestampParser

public class FTPTimestampParserImpl
extends java.lang.Object
implements FTPTimestampParser, Configurable

Default implementation of the FTPTimestampParser interface also implements the Configurable interface to allow the parsing to be configured from the outside.
Since:
1.4
See Also:
ConfigurableFTPFileEntryParserImpl

Fields inherited from interface org.apache.commons.net.ftp.parser.FTPTimestampParser

DEFAULT_RECENT_SDF, DEFAULT_SDF

Constructor Summary

FTPTimestampParserImpl()
The only constructor for this class.

Method Summary

void
configure(FTPClientConfig config)
Implementation of the Configurable interface.
SimpleDateFormat
getDefaultDateFormat()
String
getDefaultDateFormatString()
SimpleDateFormat
getRecentDateFormat()
String
getRecentDateFormatString()
TimeZone
getServerTimeZone()
String[]
getShortMonths()
Calendar
parseTimestamp(String timestampStr)
Implements the one method in the FTPTimestampParser interface according to this algorithm: If the recentDateFormat member has been defined, try to parse the supplied string with that.

Constructor Details

FTPTimestampParserImpl

public FTPTimestampParserImpl()
The only constructor for this class.

Method Details

configure

public void configure(FTPClientConfig config)
Implementation of the Configurable interface. Configures this FTPTimestampParser according to the following logic:

Set up the defaultDateFormat and optionally the recentDateFormat to values supplied in the config based on month names configured as follows:

  • If a shortMonthString has been supplied in the config, use that to parse parse timestamps.
  • Otherwise, if a serverLanguageCode has been supplied in the config, use the month names represented by that language to parse timestamps.
  • otherwise use default English month names

Finally if a serverTimeZoneId has been supplied via the config, set that into all date formats that have been configured.

Specified by:
configure in interface Configurable

getDefaultDateFormat

public SimpleDateFormat getDefaultDateFormat()
Returns:
Returns the defaultDateFormat.

getDefaultDateFormatString

public String getDefaultDateFormatString()
Returns:
Returns the defaultDateFormat pattern string.

getRecentDateFormat

public SimpleDateFormat getRecentDateFormat()
Returns:
Returns the recentDateFormat.

getRecentDateFormatString

public String getRecentDateFormatString()
Returns:
Returns the recentDateFormat.

getServerTimeZone

public TimeZone getServerTimeZone()
Returns:
Returns the serverTimeZone used by this parser.

getShortMonths

public String[] getShortMonths()
Returns:
returns an array of 12 strings representing the short month names used by this parse.

parseTimestamp

public Calendar parseTimestamp(String timestampStr)
            throws ParseException
Implements the one method in the FTPTimestampParser interface according to this algorithm: If the recentDateFormat member has been defined, try to parse the supplied string with that. If that parse fails, or if the recentDateFormat member has not been defined, attempt to parse with the defaultDateFormat member. If that fails, throw a ParseException.
Specified by:
parseTimestamp in interface FTPTimestampParser
See Also:
org.apache.commons.net.ftp.parser.FTPTimestampParser.parseTimestamp(java.lang.String)