Package org.teavm.classlib.java.io
Class TFilterReader
java.lang.Object
org.teavm.classlib.java.io.TReader
org.teavm.classlib.java.io.TFilterReader
- All Implemented Interfaces:
TCloseable,TAutoCloseable,TReadable
- Direct Known Subclasses:
TPushbackReader
Wraps an existing
and performs some transformation on the
input data while it is being read. Transformations can be anything from a
simple byte-wise filtering input data to an on-the-fly compression or
decompression of the underlying reader. Readers that wrap another reader and
provide some additional functionality on top of it usually inherit from this
class.
invalid reference
Reader
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTFilterReader(TReader in) Constructs a new FilterReader on the Readerin. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes this reader.voidmark(int readlimit) Sets a mark position in this reader.booleanIndicates whether this reader supportsmark()andreset().intread()Reads a single character from the filtered reader and returns it as an integer with the two higher-order bytes set to 0.intread(char[] buffer, int offset, int count) Reads at mostcountcharacters from the filtered reader and stores them in the byte arraybufferstarting atoffset.booleanready()Indicates whether this reader is ready to be read without blocking.voidreset()Resets this reader's position to the last marked location.longskip(long count) Skipscountcharacters in this reader.
-
Field Details
-
in
The target Reader which is being filtered.
-
-
Constructor Details
-
TFilterReader
Constructs a new FilterReader on the Readerin.- Parameters:
in- The non-null Reader to filter reads on.
-
-
Method Details
-
close
Closes this reader. This implementation closes the filtered reader.- Throws:
IOException- if an error occurs while closing this reader.
-
mark
Sets a mark position in this reader. The parameterreadlimitindicates how many bytes can be read before the mark is invalidated. Sendingreset()will reposition this reader back to the marked position, provided thatreadlimithas not been surpassed.This implementation sets a mark in the filtered reader.
- Overrides:
markin classTReader- Parameters:
readlimit- the number of bytes that can be read from this reader before the mark is invalidated.- Throws:
IOException- if an error occurs while marking this reader.- See Also:
-
markSupported
public boolean markSupported()Indicates whether this reader supportsmark()andreset(). This implementation returns whether the filtered reader supports marking.- Overrides:
markSupportedin classTReader- Returns:
trueifmark()andreset()are supported by the filtered reader,falseotherwise.- See Also:
-
read
Reads a single character from the filtered reader and returns it as an integer with the two higher-order bytes set to 0. Returns -1 if the end of the filtered reader has been reached.- Overrides:
readin classTReader- Returns:
- The character read or -1 if the end of the filtered reader has been reached.
- Throws:
IOException- if an error occurs while reading from this reader.
-
read
Reads at mostcountcharacters from the filtered reader and stores them in the byte arraybufferstarting atoffset. Returns the number of characters actually read or -1 if no characters were read and the end of the filtered reader was encountered.- Specified by:
readin classTReader- Parameters:
buffer- the char array in which to store the characters read.offset- the initial position inbufferto store the characters read from this reader.count- the maximum number of characters to store inbuffer.- Returns:
- the number of characters actually read or -1 if the end of the filtered reader has been reached while reading.
- Throws:
IOException- if an error occurs while reading from this reader.
-
ready
Indicates whether this reader is ready to be read without blocking. If the result istrue, the nextread()will not block. If the result isfalse, this reader may or may not block whenread()is sent.- Overrides:
readyin classTReader- Returns:
trueif this reader will not block whenread()is called,falseif unknown or blocking will occur.- Throws:
IOException- if the reader is closed or some other I/O error occurs.
-
reset
Resets this reader's position to the last marked location. Invocations ofread()andskip()will occur from this new location. If this reader was not marked, the behavior depends on the implementation ofreset()in the Reader subclass that is filtered by this reader. The default behavior for Reader is to throw anIOException.- Overrides:
resetin classTReader- Throws:
IOException- if a problem occurred or the filtered reader does not supportmark()andreset().- See Also:
-
skip
Skipscountcharacters in this reader. Subsequentread()'s will not return these characters unlessreset()is used. The default implementation is to skip characters in the filtered reader.- Overrides:
skipin classTReader- Parameters:
count- the maximum number of characters to skip.- Returns:
- the number of characters actually skipped.
- Throws:
IOException- if the filtered reader is closed or some other I/O error occurs.- See Also:
-