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
`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
`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
`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.