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     */