Package org.apache.tomcat.util.json

# Class JavaCharStream

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

public class JavaCharStream extends 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 Reader`
`inputStream`
`protected int`
`line`
`protected int`
`maxNextCharInd`
`protected char[]`
`nextCharBuf`
`protected int`
`nextCharInd`
`protected boolean`
`prevCharIsCR`
`protected boolean`
`prevCharIsLF`
`static final boolean`
`staticFlag`
Whether parser is static.
`protected int`
`tabSize`
`protected boolean`
`trackLineColumn`

## Constructor Summary

Constructors
Constructor
Description
`JavaCharStream(InputStream dstream)`
Constructor.
`JavaCharStream(InputStream dstream, int startline, int startcolumn)`
Constructor.
`JavaCharStream(InputStream dstream, int startline, int startcolumn, int buffersize)`
Constructor.
`JavaCharStream(InputStream dstream, String encoding)`
Constructor.
`JavaCharStream(InputStream dstream, String encoding, int startline, int startcolumn)`
Constructor.
`JavaCharStream(InputStream dstream, String encoding, int startline, int startcolumn, int buffersize)`
Constructor.
`JavaCharStream(Reader dstream)`
Constructor.
`JavaCharStream(Reader dstream, int startline, int startcolumn)`
Constructor.
`JavaCharStream(Reader dstream, int startline, int startcolumn, int buffersize)`
Constructor.

## Method Summary

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.
`String`
`GetImage()`
`int`
`getLine()`
Deprecated.
`char[]`
`GetSuffix(int len)`
`int`
`getTabSize()`
`protected char`
`ReadByte()`
`char`
`readChar()`
Read a character.
`void`
`ReInit(InputStream dstream)`
Reinitialise.
`void`
`ReInit(InputStream dstream, int startline, int startcolumn)`
Reinitialise.
`void`
`ReInit(InputStream dstream, int startline, int startcolumn, int buffersize)`
Reinitialise.
`void`
`ReInit(InputStream dstream, String encoding)`
Reinitialise.
`void`
`ReInit(InputStream dstream, String encoding, int startline, int startcolumn)`
Reinitialise.
`void`
`ReInit(InputStream dstream, String encoding, int startline, int startcolumn, int buffersize)`
Reinitialise.
`void`
`ReInit(Reader dstream)`
Reinitialise.
`void`
`ReInit(Reader dstream, int startline, int startcolumn)`
Reinitialise.
`void`
`ReInit(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 Details

### 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 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 Details

### JavaCharStream

public JavaCharStream(Reader dstream, int startline, int startcolumn, int buffersize)
Constructor.

### JavaCharStream

public JavaCharStream(Reader dstream, int startline, int startcolumn)
Constructor.

### JavaCharStream

public JavaCharStream(Reader dstream)
Constructor.

### JavaCharStream

public JavaCharStream(InputStream dstream, String encoding, int startline, int startcolumn, int buffersize) throws UnsupportedEncodingException
Constructor.

Throws:
  `UnsupportedEncodingException`

### JavaCharStream

public JavaCharStream(InputStream dstream, int startline, int startcolumn, int buffersize)
Constructor.

### JavaCharStream

public JavaCharStream(InputStream dstream, String encoding, int startline, int startcolumn) throws UnsupportedEncodingException
Constructor.

Throws:
  `UnsupportedEncodingException`

### JavaCharStream

public JavaCharStream(InputStream dstream, int startline, int startcolumn)
Constructor.

### JavaCharStream

public JavaCharStream(InputStream dstream, String encoding) throws UnsupportedEncodingException
Constructor.

Throws:
  `UnsupportedEncodingException`

### JavaCharStream

public JavaCharStream(InputStream dstream)
Constructor.

## Method Details

### setTabSize

public void setTabSize(int i)

### getTabSize

public int getTabSize()

### ExpandBuff

protected void ExpandBuff(boolean wrapAround)

### FillBuff

protected void FillBuff() throws IOException

Throws:
  `IOException`

### ReadByte

protected char ReadByte() throws IOException

Throws:
  `IOException`

### BeginToken

public char BeginToken() throws IOException

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

### AdjustBuffSize

protected void AdjustBuffSize()

### UpdateLineColumn

protected void UpdateLineColumn(char c)

### readChar

public char readChar() throws IOException
Read a character.

Throws:
  `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(Reader dstream, int startline, int startcolumn, int buffersize)
Reinitialise.

### ReInit

public void ReInit(Reader dstream, int startline, int startcolumn)
Reinitialise.

### ReInit

public void ReInit(Reader dstream)
Reinitialise.

### ReInit

public void ReInit(InputStream dstream, String encoding, int startline, int startcolumn, int buffersize) throws UnsupportedEncodingException
Reinitialise.

Throws:
  `UnsupportedEncodingException`

### ReInit

public void ReInit(InputStream dstream, int startline, int startcolumn, int buffersize)
Reinitialise.

### ReInit

public void ReInit(InputStream dstream, String encoding, int startline, int startcolumn) throws UnsupportedEncodingException
Reinitialise.

Throws:
  `UnsupportedEncodingException`

### ReInit

public void ReInit(InputStream dstream, int startline, int startcolumn)
Reinitialise.

### ReInit

public void ReInit(InputStream dstream, String encoding) throws UnsupportedEncodingException
Reinitialise.

Throws:
  `UnsupportedEncodingException`

### ReInit

public void ReInit(InputStream dstream)
Reinitialise.

### GetImage

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