Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You 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.nntp;
Wraps a java.io.BufferedReader and returns an Iterable<String> which returns the individual lines from the reader.

Since:
3.0
class ReplyIterator implements Iterator<String>, Iterable<String> {
    private final BufferedReader reader;
    private String line;
    private Exception savedException;

    

Parameters:
_reader the reader to wrap
addDotReader whether to additionally wrap the reader in a DotTerminatedMessageReader
Throws:
java.io.IOException
    ReplyIterator(BufferedReader _readerboolean addDotReaderthrows IOException {
         = addDotReader ? new DotTerminatedMessageReader(_reader) : _reader;
         = .readLine(); // prime the iterator
        if ( == null) {
            Util.closeQuietly();
        }
    }
    ReplyIterator(BufferedReader _readerthrows IOException {
        this(_readertrue);
    }
//    @Override
    public boolean hasNext() {
        if ( != null){
            throw new NoSuchElementException(.toString());
        }
        return  != null;
    }
//    @Override
    public String next() throws NoSuchElementException {
        if ( != null){
            throw new NoSuchElementException(.toString());
        }
        String prev = ;
        if (prev == null) {
            throw new NoSuchElementException();
        }
        try {
             = .readLine(); // save next line
            if ( == null) {
                Util.closeQuietly();
            }
        } catch (IOException ex) {
             = ex// if it fails, save the exception, as it does not apply to this call
            Util.closeQuietly();
        }
        return prev;
    }
//    @Override
    public void remove() {
        throw new UnsupportedOperationException();
    }
//    @Override
    public Iterator<Stringiterator() {
        return this;
    }
New to GrepCode? Check out our FAQ X