alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Other links

The source code

/*
 * Copyright 2001-2004 The Apache Software Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.commons.net.ftp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.List;

/**
 * This abstract class implements both the older FTPFileListParser and
 * newer FTPFileEntryParser interfaces with default functionality.
 * All the classes in the parser subpackage inherit from this.
 *
 * @author Steve Cohen 
 */
public abstract class FTPFileEntryParserImpl
    implements FTPFileEntryParser, FTPFileListParser
{
    /**
     * The constructor for a FTPFileEntryParserImpl object.
     */
    public FTPFileEntryParserImpl()
        {
    }


    /***
     * Parses an FTP server file listing and converts it into a usable format
     * in the form of an array of  FTPFile  instances.  If the
     * file list contains no files,  null  should be
     * returned, otherwise an array of  FTPFile  instances
     * representing the files in the directory is returned.
     * 

* @param listStream The InputStream from which the file list should be * read. * @return The list of file information contained in the given path. null * if the list could not be obtained or if there are no files in * the directory. * @exception java.io.IOException If an I/O error occurs reading the listStream. ***/ public FTPFile[] parseFileList(InputStream listStream) throws IOException { FTPFileList ffl = FTPFileList.create(listStream, this); return ffl.getFiles(); } /** * Reads the next entry using the supplied BufferedReader object up to * whatever delemits one entry from the next. This default implementation * simply calls BufferedReader.readLine(). * * @param reader The BufferedReader object from which entries are to be * read. * * @return A string representing the next ftp entry or null if none found. * @exception java.io.IOException thrown on any IO Error reading from the reader. */ public String readNextEntry(BufferedReader reader) throws IOException { return reader.readLine(); } /** * This method is a hook for those implementors (such as * VMSVersioningFTPEntryParser, and possibly others) which need to * perform some action upon the FTPFileList after it has been created * from the server stream, but before any clients see the list. * * This default implementation is a no-op. * * @param original Original list after it has been created from the server stream * * @return original unmodified. */ public List preParse(List original) { Iterator it = original.iterator(); while (it.hasNext()){ String entry = (String) it.next(); if (null == parseFTPEntry(entry)) { it.remove(); } else { break; } } return original; } } /* Emacs configuration * Local variables: ** * mode: java ** * c-basic-offset: 4 ** * indent-tabs-mode: nil ** * End: ** */

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.