Package org.apache.tomcat.util.json

## Class JavaCharStream

- java.lang.Object
- - org.apache.tomcat.util.json.JavaCharStream

-     public class JavaCharStream
      extends java.lang.Object

  An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (with java-like unicode escape processing).

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected int[]` | `bufcolumn` |
    `protected char[]` | `buffer` |
    `protected int[]` | `bufline` |
    `int` | `bufpos` | Position in buffer.
    `protected int` | `column` |
    `protected int` | `inBuf` |
    `protected java.io.Reader` | `inputStream` |
    `protected int` | `line` |
    `protected int` | `maxNextCharInd` |
    `protected char[]` | `nextCharBuf` |
    `protected int` | `nextCharInd` |
    `protected boolean` | `prevCharIsCR` |
    `protected boolean` | `prevCharIsLF` |
    `static boolean` | `staticFlag` | Whether parser is static.
    `protected int` | `tabSize` |
    `protected boolean` | `trackLineColumn` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JavaCharStream​(java.io.InputStream dstream)` | Constructor.
    `JavaCharStream​(java.io.InputStream dstream, int startline, int startcolumn)` | Constructor.
    `JavaCharStream​(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)` | Constructor.
    `JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding)` | Constructor.
    `JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)` | Constructor.
    `JavaCharStream​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)` | Constructor.
    `JavaCharStream​(java.io.Reader dstream)` | Constructor.
    `JavaCharStream​(java.io.Reader dstream, int startline, int startcolumn)` | Constructor.
    `JavaCharStream​(java.io.Reader dstream, int startline, int startcolumn, int buffersize)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `adjustBeginLineColumn​(int newLine, int newCol)` | Method to adjust line and column numbers for the start of a token.
    `protected void` | `AdjustBuffSize()` |
    `void` | `backup​(int amount)` | Retreat.
    `char` | `BeginToken()` |
    `void` | `Done()` | Set buffers back to null when finished.
    `protected void` | `ExpandBuff​(boolean wrapAround)` |
    `protected void` | `FillBuff()` |
    `int` | `getBeginColumn()` |
    `int` | `getBeginLine()` |
    `int` | `getColumn()` | Deprecated.
    `int` | `getEndColumn()` | Get end column.
    `int` | `getEndLine()` | Get end line.
    `java.lang.String` | `GetImage()` |
    `int` | `getLine()` | Deprecated.
    `char[]` | `GetSuffix​(int len)` |
    `int` | `getTabSize()` |
    `protected char` | `ReadByte()` |
    `char` | `readChar()` | Read a character.
    `void` | `ReInit​(java.io.InputStream dstream)` | Reinitialise.
    `void` | `ReInit​(java.io.InputStream dstream, int startline, int startcolumn)` | Reinitialise.
    `void` | `ReInit​(java.io.InputStream dstream, int startline, int startcolumn, int buffersize)` | Reinitialise.
    `void` | `ReInit​(java.io.InputStream dstream, java.lang.String encoding)` | Reinitialise.
    `void` | `ReInit​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn)` | Reinitialise.
    `void` | `ReInit​(java.io.InputStream dstream, java.lang.String encoding, int startline, int startcolumn, int buffersize)` | Reinitialise.
    `void` | `ReInit​(java.io.Reader dstream)` | Reinitialise.
    `void` | `ReInit​(java.io.Reader dstream, int startline, int startcolumn)` | Reinitialise.
    `void` | `ReInit​(java.io.Reader dstream, int startline, int startcolumn, int buffersize)` | Reinitialise.
    `void` | `setTabSize​(int i)` |
    `protected void` | `UpdateLineColumn​(char c)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### staticFlag

          public static final boolean staticFlag

      Whether parser is static.
      See Also:
        Constant Field Values

    - #### bufpos

          public int bufpos

      Position in buffer.

    - #### bufline

          protected int[] bufline

    - #### bufcolumn

          protected int[] bufcolumn

    - #### column

          protected int column

    - #### line

          protected int line

    - #### prevCharIsCR

          protected boolean prevCharIsCR

    - #### prevCharIsLF

          protected boolean prevCharIsLF

    - #### inputStream

          protected java.io.Reader inputStream

    - #### nextCharBuf

          protected char[] nextCharBuf

    - #### buffer

          protected char[] buffer

    - #### maxNextCharInd

          protected int maxNextCharInd

    - #### nextCharInd

          protected int nextCharInd

    - #### inBuf

          protected int inBuf

    - #### tabSize

          protected int tabSize

    - #### trackLineColumn

          protected boolean trackLineColumn

  - ### Constructor Detail

    - #### JavaCharStream

          public JavaCharStream​(java.io.Reader dstream,
                                int startline,
                                int startcolumn,
                                int buffersize)

      Constructor.

    - #### JavaCharStream

          public JavaCharStream​(java.io.Reader dstream,
                                int startline,
                                int startcolumn)

      Constructor.

    - #### JavaCharStream

          public JavaCharStream​(java.io.Reader dstream)

      Constructor.

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream,
                                java.lang.String encoding,
                                int startline,
                                int startcolumn,
                                int buffersize)
                         throws java.io.UnsupportedEncodingException

      Constructor.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream,
                                int startline,
                                int startcolumn,
                                int buffersize)

      Constructor.

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream,
                                java.lang.String encoding,
                                int startline,
                                int startcolumn)
                         throws java.io.UnsupportedEncodingException

      Constructor.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream,
                                int startline,
                                int startcolumn)

      Constructor.

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream,
                                java.lang.String encoding)
                         throws java.io.UnsupportedEncodingException

      Constructor.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### JavaCharStream

          public JavaCharStream​(java.io.InputStream dstream)

      Constructor.

  - ### Method Detail

    - #### setTabSize

          public void setTabSize​(int i)

    - #### getTabSize

          public int getTabSize()

    - #### ExpandBuff

          protected void ExpandBuff​(boolean wrapAround)

    - #### FillBuff

          protected void FillBuff()
                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### ReadByte

          protected char ReadByte()
                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### BeginToken

          public char BeginToken()
                          throws java.io.IOException

      Returns:
        starting character for token.
      Throws:
        `java.io.IOException`

    - #### AdjustBuffSize

          protected void AdjustBuffSize()

    - #### UpdateLineColumn

          protected void UpdateLineColumn​(char c)

    - #### readChar

          public char readChar()
                        throws java.io.IOException

      Read a character.
      Throws:
        `java.io.IOException`

    - #### getColumn

          @Deprecated
          public int getColumn()

      Deprecated.

    - #### getLine

          @Deprecated
          public int getLine()

      Deprecated.

    - #### getEndColumn

          public int getEndColumn()

      Get end column.

    - #### getEndLine

          public int getEndLine()

      Get end line.

    - #### getBeginColumn

          public int getBeginColumn()

      Returns:
        column of token start

    - #### getBeginLine

          public int getBeginLine()

      Returns:
        line number of token start

    - #### backup

          public void backup​(int amount)

      Retreat.

    - #### ReInit

          public void ReInit​(java.io.Reader dstream,
                             int startline,
                             int startcolumn,
                             int buffersize)

      Reinitialise.

    - #### ReInit

          public void ReInit​(java.io.Reader dstream,
                             int startline,
                             int startcolumn)

      Reinitialise.

    - #### ReInit

          public void ReInit​(java.io.Reader dstream)

      Reinitialise.

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream,
                             java.lang.String encoding,
                             int startline,
                             int startcolumn,
                             int buffersize)
                      throws java.io.UnsupportedEncodingException

      Reinitialise.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream,
                             int startline,
                             int startcolumn,
                             int buffersize)

      Reinitialise.

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream,
                             java.lang.String encoding,
                             int startline,
                             int startcolumn)
                      throws java.io.UnsupportedEncodingException

      Reinitialise.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream,
                             int startline,
                             int startcolumn)

      Reinitialise.

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream,
                             java.lang.String encoding)
                      throws java.io.UnsupportedEncodingException

      Reinitialise.
      Throws:
        `java.io.UnsupportedEncodingException`

    - #### ReInit

          public void ReInit​(java.io.InputStream dstream)

      Reinitialise.

    - #### GetImage

          public java.lang.String GetImage()

      Returns:
        token image as String

    - #### GetSuffix

          public char[] GetSuffix​(int len)

      Returns:
        suffix

    - #### Done

          public void Done()

      Set buffers back to null when finished.

    - #### adjustBeginLineColumn

          public void adjustBeginLineColumn​(int newLine,
                                            int newCol)

      Method to adjust line and column numbers for the start of a token.