Class VMSVersioningFTPEntryParser
java.lang.Object
org.apache.commons.net.ftp.FTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.ConfigurableFTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.VMSFTPEntryParser
org.apache.commons.net.ftp.parser.VMSVersioningFTPEntryParser
- All Implemented Interfaces:
Configurable
,FTPFileEntryParser
Special implementation VMSFTPEntryParser with versioning turned on. This parser removes all duplicates and only leaves the version with the highest version
number for each file name.
This is a sample of VMS LIST output
"1-JUN.LIS;1 9/9 2-JUN-1998 07:32:04 [GROUP,OWNER] (RWED,RWED,RWED,RE)", "1-JUN.LIS;2 9/9 2-JUN-1998 07:32:04 [GROUP,OWNER] (RWED,RWED,RWED,RE)", "DATA.DIR;1 1/9 2-JUN-1998 07:32:04 [GROUP,OWNER] (RWED,RWED,RWED,RE)",
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Pattern
private static final String
Guard against polynomial regular expression used on uncontrolled data.Fields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl
_matcher_
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor for a VMSFTPEntryParser object.This constructor allows the creation of a VMSVersioningFTPEntryParser object with something other than the default configuration. -
Method Summary
Methods inherited from class org.apache.commons.net.ftp.parser.VMSFTPEntryParser
getDefaultConfiguration, parseFileList, parseFTPEntry, readNextEntry
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, setRegex
-
Field Details
-
REGEX
Guard against polynomial regular expression used on uncontrolled data. Don't look for more than 20 digits for the version. Don't look for more than 80 spaces after the version. Don't look for more than 80 characters after the spaces.- See Also:
-
PATTERN
-
-
Constructor Details
-
VMSVersioningFTPEntryParser
public VMSVersioningFTPEntryParser()Constructor for a VMSFTPEntryParser object.- Throws:
IllegalArgumentException
- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. If the exception is seen, this is a sign thatREGEX
is not a valid regular expression.
-
VMSVersioningFTPEntryParser
This constructor allows the creation of a VMSVersioningFTPEntryParser object with something other than the default configuration.- Parameters:
config
- Theconfiguration
object used to configure this parser.- Throws:
IllegalArgumentException
- Thrown if the regular expression is unparseable. Should not be seen under normal conditions. If the exception is seen, this is a sign thatREGEX
is not a valid regular expression.- Since:
- 1.4
-
-
Method Details
-
isVersioning
protected boolean isVersioning()- Overrides:
isVersioning
in classVMSFTPEntryParser
-
preParse
Implement hook provided for those implementers (such as VMSVersioningFTPEntryParser, and possibly others) which return multiple files with the same name to remove the duplicates ..- Specified by:
preParse
in interfaceFTPFileEntryParser
- Overrides:
preParse
in classFTPFileEntryParserImpl
- Parameters:
original
- Original list- Returns:
- Original list purged of duplicates
-