Package com.twelvemonkeys.io
Class CompoundReader
- java.lang.Object
-
- java.io.Reader
-
- com.twelvemonkeys.io.CompoundReader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.lang.Readable
public class CompoundReader extends java.io.ReaderA Reader implementation that can read from multiple sources.- Version:
- $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/io/CompoundReader.java#2 $
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.Readercurrentprivate intcurrentReaderprotected java.lang.ObjectfinalLockprivate longmarkprivate intmarkedReaderprotected booleanmarkSupportedprivate longnextprivate java.util.List<java.io.Reader>readers
-
Constructor Summary
Constructors Constructor Description CompoundReader(java.util.Iterator<java.io.Reader> pReaders)Create a new compound reader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidensureOpen()Check to make sure that the stream has not been closedvoidmark(int pReadLimit)booleanmarkSupported()protected java.io.ReadernextReader()intread()intread(char[] pBuffer, int pOffset, int pLength)booleanready()voidreset()longskip(long pChars)
-
-
-
Field Detail
-
current
private java.io.Reader current
-
readers
private java.util.List<java.io.Reader> readers
-
finalLock
protected final java.lang.Object finalLock
-
markSupported
protected final boolean markSupported
-
currentReader
private int currentReader
-
markedReader
private int markedReader
-
mark
private long mark
-
next
private long next
-
-
Constructor Detail
-
CompoundReader
public CompoundReader(java.util.Iterator<java.io.Reader> pReaders)
Create a new compound reader.- Parameters:
pReaders-IteratorcontaintingReaders, providing the character stream.- Throws:
java.lang.NullPointerException- ifpReadersisnull, or any of the elements in the iterator isnull.java.lang.ClassCastException- if any element of the iterator is not ajava.io.Reader
-
-
Method Detail
-
nextReader
protected final java.io.Reader nextReader()
-
ensureOpen
protected final void ensureOpen() throws java.io.IOExceptionCheck to make sure that the stream has not been closed- Throws:
java.io.IOException- if the stream is closed
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classjava.io.Reader- Throws:
java.io.IOException
-
mark
public void mark(int pReadLimit) throws java.io.IOException- Overrides:
markin classjava.io.Reader- Throws:
java.io.IOException
-
reset
public void reset() throws java.io.IOException- Overrides:
resetin classjava.io.Reader- Throws:
java.io.IOException
-
markSupported
public boolean markSupported()
- Overrides:
markSupportedin classjava.io.Reader
-
read
public int read() throws java.io.IOException- Overrides:
readin classjava.io.Reader- Throws:
java.io.IOException
-
read
public int read(char[] pBuffer, int pOffset, int pLength) throws java.io.IOException- Specified by:
readin classjava.io.Reader- Throws:
java.io.IOException
-
ready
public boolean ready() throws java.io.IOException- Overrides:
readyin classjava.io.Reader- Throws:
java.io.IOException
-
skip
public long skip(long pChars) throws java.io.IOException- Overrides:
skipin classjava.io.Reader- Throws:
java.io.IOException
-
-