Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| HTML Parser Home Page
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.htmlparser.lexer
Class StringSource

    java.lang.Object
      java.io.Reader
          org.htmlparser.lexer.Source
              org.htmlparser.lexer.StringSource

All Implemented Interfaces:
  Closeable, Serializable, Readable

    public class StringSource

extends Source

A source of characters based on a String.

See Also:
  Serialized Form

Field Summary
`protected String` | `mEncoding` The encoding to report.
`protected int` | `mMark` The bookmark.
`protected int` | `mOffset` The current offset into the string.
`protected String` | `mString` The source of characters.

Fields inherited from class org.htmlparser.lexer.Source
`EOF`

Fields inherited from class java.io.Reader
`lock`

Constructor Summary
`StringSource(String string)` Construct a source using the provided string.
`StringSource(String string, String character_set)` Construct a source using the provided string and encoding.

Method Summary
`int` | `available()` Get the number of available characters.
`void` | `close()` Does nothing.
`void` | `destroy()` Close the source.
`char` | `getCharacter(int offset)` Retrieve a character again.
`void` | `getCharacters(char[] array, int offset, int start, int end)` Retrieve characters again.
`void` | `getCharacters(StringBuffer buffer, int offset, int length)` Append characters already read into a `StringBuffer`.
`String` | `getEncoding()` Get the encoding being used to convert characters.
`String` | `getString(int offset, int length)` Retrieve a string comprised of characters already read.
`void` | `mark(int readAheadLimit)` Mark the present position in the source.
`boolean` | `markSupported()` Tell whether this source supports the mark() operation.
`int` | `offset()` Get the position (in characters).
`int` | `read()` Read a single character.
`int` | `read(char[] cbuf)` Read characters into an array.
`int` | `read(char[] cbuf, int off, int len)` Read characters into a portion of an array.
`boolean` | `ready()` Tell whether this source is ready to be read.
`void` | `reset()` Reset the source.
`void` | `setEncoding(String character_set)` Set the encoding to the given character set.
`long` | `skip(long n)` Skip characters.
`void` | `unread()` Undo the read of a single character.

Methods inherited from class java.io.Reader
`read`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### mString

    protected String mString

  The source of characters.

### mOffset

    protected int mOffset

  The current offset into the string.

### mEncoding

    protected String mEncoding

  The encoding to report. Only used by `getEncoding()`.

### mMark

    protected int mMark

  The bookmark.

Constructor Detail

### StringSource

    public StringSource(String string)

  Construct a source using the provided string. Until it is set, the encoding will be reported as ISO-8859-1.

  Parameters:
    `string` - The source of characters.

### StringSource

    public StringSource(String string,
                        String character_set)

  Construct a source using the provided string and encoding. The encoding is only used by `getEncoding()`.

  Parameters:
    `string` - The source of characters.
    `character_set` - The encoding to report.

Method Detail

### getEncoding

    public String getEncoding()

  Get the encoding being used to convert characters.

  Specified by:
    `getEncoding` in class `Source`
  Returns:
    The current encoding.

### setEncoding

    public void setEncoding(String character_set)
                     throws ParserException

  Set the encoding to the given character set. This simply sets the encoding reported by `getEncoding()`.

  Specified by:
    `setEncoding` in class `Source`
  Parameters:
    `character_set` - The character set to use to convert characters.
  Throws:
    `ParserException` - Not thrown.

### close

    public void close()
               throws IOException

  Does nothing. It's supposed to close the source, but use destroy() instead.

  Specified by:
    `close` in interface `Closeable`
  Specified by:
    `close` in class `Source`
  Throws:
    `IOException` - not used
  See Also:
    `destroy()`

### read

    public int read()
             throws IOException

  Read a single character.

  Specified by:
    `read` in class `Source`
  Returns:
    The character read, as an integer in the range 0 to 65535 (`0x00-0xffff`), or `EOF` if the source is exhausted.
  Throws:
    `IOException` - If an I/O error occurs.

### read

    public int read(char[] cbuf,
                    int off,
                    int len)
             throws IOException

  Read characters into a portion of an array.

  Specified by:
    `read` in class `Source`
  Parameters:
    `cbuf` - Destination buffer
    `off` - Offset at which to start storing characters
    `len` - Maximum number of characters to read
  Returns:
    The number of characters read, or `EOF` if the source is exhausted.
  Throws:
    `IOException` - If an I/O error occurs.

### read

    public int read(char[] cbuf)
             throws IOException

  Read characters into an array.

  Specified by:
    `read` in class `Source`
  Parameters:
    `cbuf` - Destination buffer.
  Returns:
    The number of characters read, or `EOF` if the source is exhausted.
  Throws:
    `IOException` - If an I/O error occurs.

### ready

    public boolean ready()
                  throws IOException

  Tell whether this source is ready to be read.

  Specified by:
    `ready` in class `Source`
  Returns:
    Equivalent to a non-zero `available()`, i.e. there are still more characters to read.
  Throws:
    `IOException` - Thrown if the source is closed.

### reset

    public void reset()
               throws IllegalStateException

  Reset the source. Repositions the read point to begin at zero.

  Specified by:
    `reset` in class `Source`
  Throws:
    `IllegalStateException` - If the source has been closed.

### markSupported

    public boolean markSupported()

  Tell whether this source supports the mark() operation.

  Specified by:
    `markSupported` in class `Source`
  Returns:
    `true`.

### mark

    public void mark(int readAheadLimit)
              throws IOException

  Mark the present position in the source. Subsequent calls to `reset()` will attempt to reposition the source to this point.

  Specified by:
    `mark` in class `Source`
  Parameters:
    `readAheadLimit` - Not used.
  Throws:
    `IOException` - Thrown if the source is closed.

### skip

    public long skip(long n)
              throws IOException,
                     IllegalArgumentException

  Skip characters. Note: n is treated as an int

  Specified by:
    `skip` in class `Source`
  Parameters:
    `n` - The number of characters to skip.
  Returns:
    The number of characters actually skipped
  Throws:
    `IllegalArgumentException` - If `n` is negative.
    `IOException` - If the source is closed.

### unread

    public void unread()
                throws IOException

  Undo the read of a single character.

  Specified by:
    `unread` in class `Source`
  Throws:
    `IOException` - If no characters have been read or the source is closed.

### getCharacter

    public char getCharacter(int offset)
                      throws IOException

  Retrieve a character again.

  Specified by:
    `getCharacter` in class `Source`
  Parameters:
    `offset` - The offset of the character.
  Returns:
    The character at `offset`.
  Throws:
    `IOException` - If the source is closed or an attempt is made to read beyond `offset()`.

### getCharacters

    public void getCharacters(char[] array,
                              int offset,
                              int start,
                              int end)
                       throws IOException

  Retrieve characters again.

  Specified by:
    `getCharacters` in class `Source`
  Parameters:
    `array` - The array of characters.
    `offset` - The starting position in the array where characters are to be placed.
    `start` - The starting position, zero based.
    `end` - The ending position (exclusive, i.e. the character at the ending position is not included), zero based.
  Throws:
    `IOException` - If the source is closed or an attempt is made to read beyond `offset()`.

### getString

    public String getString(int offset,
                            int length)
                     throws IOException

  Retrieve a string comprised of characters already read. Asking for characters ahead of `offset()` will throw an exception.

  Specified by:
    `getString` in class `Source`
  Parameters:
    `offset` - The offset of the first character.
    `length` - The number of characters to retrieve.
  Returns:
    A string containing the `length` characters at `offset`.
  Throws:
    `IOException` - If the source is closed or an attempt is made to read beyond `offset()`.

### getCharacters

    public void getCharacters(StringBuffer buffer,
                              int offset,
                              int length)
                       throws IOException

  Append characters already read into a `StringBuffer`. Asking for characters ahead of `offset()` will throw an exception.

  Specified by:
    `getCharacters` in class `Source`
  Parameters:
    `buffer` - The buffer to append to.
    `offset` - The offset of the first character.
    `length` - The number of characters to retrieve.
  Throws:
    `IOException` - If the source is closed or an attempt is made to read beyond `offset()`.

### destroy

    public void destroy()
                 throws IOException

  Close the source. Once a source has been closed, further `read`, `ready`, `mark`, `reset`, `skip`, `unread`, `getCharacter` or `getString` invocations will throw an IOException. Closing a previously-closed source, however, has no effect.

  Specified by:
    `destroy` in class `Source`
  Throws:
    `IOException` - Not thrown

### offset

    public int offset()

  Get the position (in characters).

  Specified by:
    `offset` in class `Source`
  Returns:
    The number of characters that have already been read, or `EOF` if the source is closed.

### available

    public int available()

  Get the number of available characters.

  Specified by:
    `available` in class `Source`
  Returns:
    The number of characters that can be read or zero if the source is closed.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| © 2005 Derrick Oswald Jun 10, 2006
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

HTML Parser is an open source library released under LGPL. |