# Class JavaCharStream

java.lang.Object
org.apache.cayenne.exp.parser.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`
  `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()`
  Get the beginning column.
  `int`
  `getBeginLine()`
  `int`
  `getColumn()`
  Deprecated.
  `int`
  `getEndColumn()`
  Get end column.
  `int`
  `getEndLine()`
  Get end line.
  `String`
  `GetImage()`
  Get the token timage.
  `int`
  `getLine()`
  Deprecated.
  `char[]`
  `GetSuffix(int len)`
  Get the suffix as an array of characters.
  `int`
  `getTabSize()`
  `protected char`
  `ReadByte()`
  `char`
  `readChar()`
  `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)`
  `void`
  `ReInit(Reader dstream, int startline, int startcolumn)`
  `void`
  `ReInit(Reader dstream, int startline, int startcolumn, int buffersize)`
  `void`
  `setTabSize(int i)`
  `protected void`
  `UpdateLineColumn(char c)`

  ### Methods inherited from class 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

  - ### 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.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.
      `buffersize` - size of the buffer

  - ### JavaCharStream

    public JavaCharStream(Reader dstream, int startline, int startcolumn)
    Constructor.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.

  - ### JavaCharStream

    public JavaCharStream(Reader dstream)
    Constructor.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.

  - ### 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.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.
      `buffersize` - size of the buffer

  - ### JavaCharStream

    public JavaCharStream(InputStream dstream, String encoding, int startline, int startcolumn) throws UnsupportedEncodingException
    Constructor.
    Parameters:
      `dstream` - the underlying data source.
      `encoding` - the character encoding of the data stream.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.

  - ### JavaCharStream

    public JavaCharStream(InputStream dstream, int startline, int startcolumn)
    Constructor.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.

  - ### JavaCharStream

    public JavaCharStream(InputStream dstream, String encoding) throws UnsupportedEncodingException
    Constructor.
    Parameters:
      `dstream` - the underlying data source.
      `encoding` - the character encoding of the data stream.

  - ### JavaCharStream

    public JavaCharStream(InputStream dstream)
    Constructor.
    Parameters:
      `dstream` - the underlying data source.

- ## 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
    Throws:
      `IOException`

  - ### AdjustBuffSize

    protected void AdjustBuffSize()

  - ### UpdateLineColumn

    protected void UpdateLineColumn(char c)

  - ### readChar

    public char readChar() throws IOException
    Throws:
      `IOException`

  - ### getColumn

    @Deprecated public int getColumn()
    Deprecated.

  - ### getLine

    @Deprecated public int getLine()
    Deprecated.

  - ### getEndColumn

    public int getEndColumn()
    Get end column.
    Returns:
      the end column or -1

  - ### getEndLine

    public int getEndLine()
    Get end line.
    Returns:
      the end line number or -1

  - ### getBeginColumn

    public int getBeginColumn()
    Get the beginning column.
    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)

  - ### ReInit

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

  - ### ReInit

    public void ReInit(Reader dstream)

  - ### ReInit

    public void ReInit(InputStream dstream, String encoding, int startline, int startcolumn, int buffersize) throws UnsupportedEncodingException
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.
      `encoding` - the character encoding of the data stream.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.
      `buffersize` - size of the buffer
    Throws:
      `UnsupportedEncodingException`

  - ### ReInit

    public void ReInit(InputStream dstream, int startline, int startcolumn, int buffersize)
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.
      `buffersize` - size of the buffer

  - ### ReInit

    public void ReInit(InputStream dstream, String encoding, int startline, int startcolumn) throws UnsupportedEncodingException
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.
      `encoding` - the character encoding of the data stream.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.

  - ### ReInit

    public void ReInit(InputStream dstream, int startline, int startcolumn)
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.
      `startline` - line number of the first character of the stream, mostly for error messages.
      `startcolumn` - column number of the first character of the stream.

  - ### ReInit

    public void ReInit(InputStream dstream, String encoding) throws UnsupportedEncodingException
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.
      `encoding` - the character encoding of the data stream.

  - ### ReInit

    public void ReInit(InputStream dstream)
    Reinitialise.
    Parameters:
      `dstream` - the underlying data source.

  - ### GetImage

    public String GetImage()
    Get the token timage.
    Returns:
      token image as String

  - ### GetSuffix

    public char[] GetSuffix(int len)
    Get the suffix as an array of characters.
    Parameters:
      `len` - the length of the array to return.
    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.
    Parameters:
      `newLine` - the new line number.
      `newCol` - the new column number.