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

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.VMSFTPEntryParser
All Implemented Interfaces:
Configurable, FTPFileEntryParser
Direct Known Subclasses:
VMSVersioningFTPEntryParser

public class VMSFTPEntryParser
extends ConfigurableFTPFileEntryParserImpl

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.

Version:
$Id: VMSFTPEntryParser.java 1299238 2012-03-10 17:12:28Z sebb $
Author:
Winston Ojeda, Steve Cohen, Stephane ESTE-GRACIAS
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.
VMSFTPEntryParser(FTPClientConfig config)
          This constructor allows the creation of a VMSFTPEntryParser 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.
protected  boolean isVersioning()
           
 FTPFile[] parseFileList(InputStream listStream)
          Deprecated. (2.2) No other FTPFileEntryParser implementations have this method.
 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.
 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.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
preParse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VMSFTPEntryParser

public VMSFTPEntryParser()
Constructor for a VMSFTPEntryParser 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.

VMSFTPEntryParser

public VMSFTPEntryParser(FTPClientConfig config)
This constructor allows the creation of a VMSFTPEntryParser 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

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.

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

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 class 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.
Throws:
IOException - thrown on any IO Error reading from the reader.

isVersioning

protected boolean isVersioning()

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.

parseFileList

@Deprecated
public FTPFile[] parseFileList(InputStream listStream)
                        throws IOException
Deprecated. (2.2) No other FTPFileEntryParser implementations have this method.

DO NOT USE

Throws:
IOException


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