Class VMSFTPEntryParser

All Implemented Interfaces:
Configurable, FTPFileEntryParser
Direct Known Subclasses:
VMSVersioningFTPEntryParser

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 class name. It will not be chosen by the autodetection scheme.

See Also:
  • Constructor Details

    • VMSFTPEntryParser

      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 that REGEX is not a valid regular expression.
    • VMSFTPEntryParser

      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. If the exception is seen, this is a sign that REGEX is not a valid regular expression.
      Since:
      1.4
  • Method Details

    • 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.
    • isVersioning

      protected boolean isVersioning()
    • parseFileList

      Deprecated.
      (2.2) No other FTPFileEntryParser implementations have this method.
      DO NOT USE
      Parameters:
      listStream - the stream
      Returns:
      the array of files
      Throws:
      IOException - on error
    • 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

      Reads the next entry using the supplied BufferedReader object up to whatever delimits 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.