org.apache.commons.net.ftp.parser

Class VMSFTPEntryParser

Implemented Interfaces:
FTPFileEntryParser, FTPFileListParser
Known Direct Subclasses:
VMSVersioningFTPEntryParser

public class VMSFTPEntryParser
extends RegexFTPFileEntryParserImpl

Implementation FTPFileEntryParser and FTPFileListParser for VMS Systems. 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)",

Note: VMSFTPEntryParser can only be instantiated through the DefaultFTPParserFactory by classname. It will not be chosen by the autodetection scheme.

See Also:
FTPFileEntryParser (for usage instructions), DefaultFTPFileEntryParserFactory

Field Summary

Fields inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl

_matcher_

Constructor Summary

VMSFTPEntryParser()
Constructor for a VMSFTPEntryParser object.

Method Summary

protected boolean
isVersioning()
FTPFile
parseFTPEntry(String entry)
Parses a line of a VMS FTP server file listing and converts it into a usable format in the form of an FTPFile instance.
FTPFile[]
parseFileList(InputStream listStream)
Parses an FTP server file listing and converts it into a usable format in the form of an array of FTPFile instances.
String
readNextEntry(BufferedReader reader)
Reads the next entry using the supplied BufferedReader object up to whatever delemits one entry from the next.

Methods inherited from class org.apache.commons.net.ftp.parser.RegexFTPFileEntryParserImpl

getGroupCnt, getGroupsAsString, group, matches

Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl

parseFileList, parseFileList, preParse, readNextEntry

Constructor Details

VMSFTPEntryParser

public VMSFTPEntryParser()
Constructor for a VMSFTPEntryParser object.

Method Details

isVersioning

protected boolean isVersioning()

parseFTPEntry

public FTPFile parseFTPEntry(String entry)
Parses a line of a VMS 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.

Specified by:
parseFTPEntry in interface FTPFileEntryParser
Parameters:
entry - A line of text from the file listing
Returns:
An FTPFile instance corresponding to the supplied entry

parseFileList

public FTPFile[] parseFileList(InputStream listStream)
            throws IOException
Parses an FTP server file listing and converts it into a usable format in the form of an array of FTPFile instances. If the file list contains no files, null should be returned, otherwise an array of FTPFile instances representing the files in the directory is returned.

Specified by:
parseFileList in interface FTPFileListParser
Overrides:
parseFileList in interface FTPFileEntryParserImpl
Parameters:
listStream - The InputStream from which the file list should be read.
Returns:
The list of file information contained in the given path. null if the list could not be obtained or if there are no files in the directory.

readNextEntry

public String readNextEntry(BufferedReader reader)
            throws IOException
Reads the next entry using the supplied BufferedReader object up to whatever delemits one entry from the next. This parser cannot use the default implementation of simply calling BufferedReader.readLine(), because one entry may span multiple lines.
Specified by:
readNextEntry in interface FTPFileEntryParser
Overrides:
readNextEntry in interface FTPFileEntryParserImpl
Parameters:
reader - The BufferedReader object from which entries are to be read.
Returns:
A string representing the next ftp entry or null if none found.