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
-
-
Field Summary
Fields Modifier and Type Field Description private static MLSxEntryParser
INSTANCE
private static java.util.HashMap<java.lang.String,java.lang.Integer>
TYPE_TO_INT
private static int[]
UNIX_GROUPS
private static int[][]
UNIX_PERMS
-
Constructor Summary
Constructors Constructor Description MLSxEntryParser()
Create the parser for MSLT and MSLD listing entries This class is immutable, so one can usegetInstance()
instead.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
doUnixPerms(FTPFile file, java.lang.String valueLowerCase)
static MLSxEntryParser
getInstance()
static FTPFile
parseEntry(java.lang.String entry)
FTPFile
parseFTPEntry(java.lang.String entry)
Parses a line of an FTP server file listing and converts it into a usable format in the form of anFTPFile
instance.static java.util.Calendar
parseGMTdateTime(java.lang.String timestamp)
Parse a GMT time stamp of the form YYYYMMDDHHMMSS[.sss]-
Methods inherited from class org.apache.commons.net.ftp.FTPFileEntryParserImpl
preParse, readNextEntry
-
-
-
-
Field Detail
-
INSTANCE
private static final MLSxEntryParser INSTANCE
-
TYPE_TO_INT
private static final java.util.HashMap<java.lang.String,java.lang.Integer> TYPE_TO_INT
-
UNIX_GROUPS
private static final int[] UNIX_GROUPS
-
UNIX_PERMS
private static final int[][] UNIX_PERMS
-
-
Constructor Detail
-
MLSxEntryParser
public MLSxEntryParser()
Create the parser for MSLT and MSLD listing entries This class is immutable, so one can usegetInstance()
instead.
-
-
Method Detail
-
parseFTPEntry
public FTPFile parseFTPEntry(java.lang.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 anFTPFile
instance. If the file listing line doesn't describe a file,null
should be returned, otherwise aFTPFile
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
-
parseGMTdateTime
public static java.util.Calendar parseGMTdateTime(java.lang.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
-
doUnixPerms
private void doUnixPerms(FTPFile file, java.lang.String valueLowerCase)
-
parseEntry
public static FTPFile parseEntry(java.lang.String entry)
-
getInstance
public static MLSxEntryParser getInstance()
-
-