FileDocCategorySizeDatePackage
OS2FTPEntryParser.javaAPI DocApache Commons NET 1.4.1 API4705Sat Dec 03 10:05:48 GMT 2005org.apache.commons.net.ftp.parser

OS2FTPEntryParser

public class OS2FTPEntryParser extends ConfigurableFTPFileEntryParserImpl
Implementation of FTPFileEntryParser and FTPFileListParser for OS2 Systems.
author
Winston Ojeda
author
Steve Cohen
version
$Id: OS2FTPEntryParser.java 155429 2005-02-26 13:13:04Z dirkv $
see
org.apache.commons.net.ftp.FTPFileEntryParser FTPFileEntryParser (for usage instructions)

Fields Summary
private static final String
DEFAULT_DATE_FORMAT
private static final String
REGEX
this is the regular expression used by this parser.
Constructors Summary
public OS2FTPEntryParser()
The default constructor for a OS2FTPEntryParser object.

exception
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.


                                                   
     
    
        this(null);
    
public OS2FTPEntryParser(org.apache.commons.net.ftp.FTPClientConfig config)
This constructor allows the creation of an OS2FTPEntryParser object with something other than the default configuration.

param
config The {@link FTPClientConfig configuration} object used to configure this parser.
exception
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

        super(REGEX);
        configure(config);
    
Methods Summary
protected org.apache.commons.net.ftp.FTPClientConfiggetDefaultConfiguration()
Defines a default configuration to be used when this class is instantiated without a {@link FTPClientConfig FTPClientConfig} parameter being specified.

return
the default configuration for this parser.

        return new FTPClientConfig(
                FTPClientConfig.SYST_OS2,
                DEFAULT_DATE_FORMAT,
                null, null, null, null);
    
public org.apache.commons.net.ftp.FTPFileparseFTPEntry(java.lang.String entry)
Parses a line of an OS2 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.

param
entry A line of text from the file listing
return
An FTPFile instance corresponding to the supplied entry


        FTPFile f = new FTPFile();
        if (matches(entry))
        {
            String size = group(1);
            String attrib = group(2);
            String dirString = group(3);
        	String datestr = group(4)+" "+group(5);
            String name = group(6);
            try
            {
                f.setTimestamp(super.parseTimestamp(datestr));
            }
            catch (ParseException e)
            {
            	return null;  // this is a parsing failure too.
            }


            //is it a DIR or a file
            if (dirString.trim().equals("DIR") || attrib.trim().equals("DIR"))
            {
                f.setType(FTPFile.DIRECTORY_TYPE);
            }
            else
            {
                f.setType(FTPFile.FILE_TYPE);
            }


            //set the name
            f.setName(name.trim());

            //set the size
            f.setSize(Long.parseLong(size.trim()));

            return (f);
        }
        return null;