    001    /*
    002     * Licensed to the Apache Software Foundation (ASF) under one or more
    003     * contributor license agreements.  See the NOTICE file distributed with
    004     * this work for additional information regarding copyright ownership.
    005     * The ASF licenses this file to You under the Apache License, Version 2.0
    006     * (the "License"); you may not use this file except in compliance with
    007     * the License.  You may obtain a copy of the License at
    008     *
    009     *      http://www.apache.org/licenses/LICENSE-2.0
    010     *
    011     * Unless required by applicable law or agreed to in writing, software
    012     * distributed under the License is distributed on an "AS IS" BASIS,
    013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014     * See the License for the specific language governing permissions and
    015     * limitations under the License.
    016     */
    017
    018    package org.apache.commons.net.ftp;
    019    import java.io.BufferedReader;
    020    import java.io.IOException;
    021    import java.util.List;
    022
    023    /**
    024     * This abstract class implements both the older FTPFileListParser and
    025     * newer FTPFileEntryParser interfaces with default functionality.
    026     * All the classes in the parser subpackage inherit from this.
    027     *
    028     */
    029    public abstract class FTPFileEntryParserImpl
    030        implements FTPFileEntryParser
    031    {
    032        /**
    033         * The constructor for a FTPFileEntryParserImpl object.
    034         */
    035        public FTPFileEntryParserImpl()
    036        {
    037        }
    038
    039        /**
    040         * Reads the next entry using the supplied BufferedReader object up to
    041         * whatever delemits one entry from the next.  This default implementation
    042         * simply calls BufferedReader.readLine().
    043         *
    044         * @param reader The BufferedReader object from which entries are to be
    045         * read.
    046         *
    047         * @return A string representing the next ftp entry or null if none found.
    048         * @exception java.io.IOException thrown on any IO Error reading from the reader.
    049         */
    050        public String readNextEntry(BufferedReader reader) throws IOException
    051        {
    052            return reader.readLine();
    053        }
    054        /**
    055         * This method is a hook for those implementors (such as
    056         * VMSVersioningFTPEntryParser, and possibly others) which need to
    057         * perform some action upon the FTPFileList after it has been created
    058         * from the server stream, but before any clients see the list.
    059         *
    060         * This default implementation does nothing.
    061         *
    062         * @param original Original list after it has been created from the server stream
    063         *
    064         * @return <code>original</code> unmodified.
    065         */
    066         public List<String> preParse(List<String> original) {
    067             return original;
    068         }
    069    }
    070
    071    /* Emacs configuration
    072     * Local variables:        **
    073     * mode:             java  **
    074     * c-basic-offset:   4     **
    075     * indent-tabs-mode: nil   **
    076     * End:                    **
    077     */