public class MLSxEntryParser extends FTPFileEntryParserImpl
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.| Modifier and Type | Field and Description |
|---|---|
private static MLSxEntryParser |
PARSER |
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 and Description |
|---|
MLSxEntryParser()
Create the parser for MSLT and MSLD listing entries
This class is immutable, so one can use
getInstance() instead. |
| Modifier and Type | Method and 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 an
FTPFile instance. |
static java.util.Calendar |
parseGMTdateTime(java.lang.String timestamp)
Parse a GMT time stamp of the form YYYYMMDDHHMMSS[.sss]
|
preParse, readNextEntryprivate static final MLSxEntryParser PARSER
private static final java.util.HashMap<java.lang.String,java.lang.Integer> TYPE_TO_INT
private static int[] UNIX_GROUPS
private static int[][] UNIX_PERMS
public MLSxEntryParser()
getInstance() instead.public FTPFile parseFTPEntry(java.lang.String entry)
FTPFileEntryParser 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.entry - A line of text from the file listingpublic static java.util.Calendar parseGMTdateTime(java.lang.String timestamp)
timestamp - the date-time to parsenullprivate void doUnixPerms(FTPFile file, java.lang.String valueLowerCase)
public static FTPFile parseEntry(java.lang.String entry)
public static MLSxEntryParser getInstance()