Package org.apache.commons.net.ftp.parser

# Class MLSxEntryParser

java.lang.Object
org.apache.commons.net.ftp.FTPFileEntryParserImpl
org.apache.commons.net.ftp.parser.MLSxEntryParser

All Implemented Interfaces:
  `FTPFileEntryParser`

public class MLSxEntryParser extends FTPFileEntryParserImpl
Parser class for MSLT and MLSD replies. See RFC 3659.

Format is as follows:

     entry            = [ facts ] SP pathname
     facts            = 1*( fact ";" )
     fact             = factname "=" value
     factname         = "Size" / "Modify" / "Create" /
                        "Type" / "Unique" / "Perm" /
                        "Lang" / "Media-Type" / "CharSet" /
     os-depend-fact / local-fact
     os-depend-fact   = {IANA assigned OS name} "." token
     local-fact       = "X." token
     value            = *SCHAR

     Sample os-depend-fact:
     UNIX.group=0;UNIX.mode=0755;UNIX.owner=0;

A single control response entry (MLST) is returned with a leading space; multiple (data) entries are returned without any leading spaces. The parser requires that the leading space from the MLST entry is removed. MLSD entries can begin with a single space if there are no facts.

Since:
  3.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MLSxEntryParser()`
  Create the parser for MSLT and MSLD listing entries This class is immutable, so one can use `getInstance()` instead.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static MLSxEntryParser`
  `getInstance()`
  `static FTPFile`
  `parseEntry(String entry)`
  `FTPFile`
  `parseFTPEntry(String entry)`
  Parses a line of an FTP server file listing and converts it into a usable format in the form of an `FTPFile` instance.
  `static Calendar`
  `parseGMTdateTime(String timestamp)`
  Parse a GMT time stamp of the form yyyyMMDDHHMMSS[.sss]
  `static Instant`
  `parseGmtInstant(String timestamp)`
  Parse a GMT time stamp of the form yyyyMMDDHHMMSS[.sss]

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

  `preParse, readNextEntry`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### MLSxEntryParser

    public MLSxEntryParser()
    Create the parser for MSLT and MSLD listing entries This class is immutable, so one can use `getInstance()` instead.

- ## Method Details

  - ### getInstance

    public static MLSxEntryParser getInstance()

  - ### parseEntry

    public static FTPFile parseEntry(String entry)

  - ### parseGMTdateTime

    public static Calendar parseGMTdateTime(String timestamp)
    Parse a GMT time stamp of the form yyyyMMDDHHMMSS[.sss]
    Parameters:
      `timestamp` - the date-time to parse
    Returns:
      a Calendar entry, may be `null`
    Since:
      3.4

  - ### parseGmtInstant

    public static Instant parseGmtInstant(String timestamp)
    Parse a GMT time stamp of the form yyyyMMDDHHMMSS[.sss]
    Parameters:
      `timestamp` - the date-time to parse
    Returns:
      a Calendar entry, may be `null`
    Since:
      3.9.0

  - ### parseFTPEntry

    public FTPFile parseFTPEntry(String entry)
    Description copied from interface: `FTPFileEntryParser`
    Parses a line of an 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` should be 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