Package org.fife.io
Class DocumentReader
- java.lang.Object
-
- java.io.Reader
-
- org.fife.io.DocumentReader
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,java.lang.Readable
public class DocumentReader extends java.io.Reader
AReader
forjavax.swing.text.Document
objects.- Version:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.text.Document
document
The document we're working on.private long
mark
A remembered position in the document.private long
position
The stream's position in the document.private javax.swing.text.Segment
segment
Used for fast character access.
-
Constructor Summary
Constructors Constructor Description DocumentReader(javax.swing.text.Document document)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
This currently does nothing...void
mark(int readAheadLimit)
Marks the present position in the stream.boolean
markSupported()
Tells whether this reader supports themark
operation.int
read()
Reads the single character at the current position in the document.int
read(char[] array)
Readarray.length
characters from the beginning of the document intoarray
.int
read(char[] cbuf, int off, int len)
Reads characters into a portion of an array.boolean
ready()
Tells whether this reader is ready to be read without blocking for input.void
reset()
Resets the stream.void
seek(long pos)
Move to the specified position in the document.long
skip(long n)
Skips characters.
-
-
-
Field Detail
-
position
private long position
The stream's position in the document.
-
mark
private long mark
A remembered position in the document.
-
document
private javax.swing.text.Document document
The document we're working on.
-
segment
private javax.swing.text.Segment segment
Used for fast character access.
-
-
Method Detail
-
close
public void close()
This currently does nothing...- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classjava.io.Reader
-
mark
public void mark(int readAheadLimit)
Marks the present position in the stream. Subsequent calls toreset()
will reposition the stream to this point.- Overrides:
mark
in classjava.io.Reader
- Parameters:
readAheadLimit
- Ignored.
-
markSupported
public boolean markSupported()
Tells whether this reader supports themark
operation. This always returnstrue
forDocumentReader
.- Overrides:
markSupported
in classjava.io.Reader
-
read
public int read()
Reads the single character at the current position in the document.- Overrides:
read
in classjava.io.Reader
-
read
public int read(char[] array)
Readarray.length
characters from the beginning of the document intoarray
.- Overrides:
read
in classjava.io.Reader
- Parameters:
array
- The array to read characters into.- Returns:
- The number of characters read.
-
read
public int read(char[] cbuf, int off, int len)
Reads characters into a portion of an array.- Specified by:
read
in classjava.io.Reader
- Parameters:
cbuf
- The destination buffer.off
- Offset at which to start storing characters.len
- Maximum number of characters to read.- Returns:
- The number of characters read, or
-1
if the end of the stream (document) has been reached.
-
ready
public boolean ready()
Tells whether this reader is ready to be read without blocking for input.DocumentReader
will always return true.- Overrides:
ready
in classjava.io.Reader
- Returns:
true
if the next read operation will return without blocking.
-
reset
public void reset()
Resets the stream. If the stream has been marked, then attempt to reposition it at the mark. If the stream has not been marked, then move it to the beginning of the document.- Overrides:
reset
in classjava.io.Reader
-
skip
public long skip(long n)
Skips characters. This will not 'skip' past the end of the document.- Overrides:
skip
in classjava.io.Reader
- Parameters:
n
- The number of characters to skip.- Returns:
- The number of characters actually skipped.
-
seek
public void seek(long pos)
Move to the specified position in the document. Ifpos
is greater than the document's length, the stream's position is moved to the end of the document.- Parameters:
pos
- The position in the document to move to.
-
-