org.apache.struts2.el.parser

## Class SimpleCharStream

- java.lang.Object
- - org.apache.struts2.el.parser.SimpleCharStream

-     public class SimpleCharStream
      extends Object

  An implementation of interface CharStream, where the stream is assumed to contain only ASCII characters (without unicode processing).

- - ### Field Summary

    Fields
    Modifier and Type | Field and 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 boolean` | `prevCharIsCR`
    `protected boolean` | `prevCharIsLF`
    `static boolean` | `staticFlag` Whether parser is static.
    `protected int` | `tabSize`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `adjustBeginLineColumn(int newLine, int newCol)` Method to adjust line and column numbers for the start of a token.
    `void` | `backup(int amount)` Backup a number of characters.
    `char` | `BeginToken()` Start.
    `void` | `Done()` Reset buffer when finished.
    `protected void` | `ExpandBuff(boolean wrapAround)`
    `protected void` | `FillBuff()`
    `int` | `getBeginColumn()`
    `int` | `getBeginLine()`
    `int` | `getColumn()` Deprecated.
    `int` | `getEndColumn()`
    `int` | `getEndLine()`
    `String` | `GetImage()`
    `int` | `getLine()` Deprecated.
    `char[]` | `GetSuffix(int len)`
    `protected int` | `getTabSize(int i)`
    `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.
    `protected 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 Reader inputStream

    - #### buffer

          protected char[] buffer

    - #### maxNextCharInd

          protected int maxNextCharInd

    - #### inBuf

          protected int inBuf

    - #### tabSize

          protected int tabSize

  - ### Constructor Detail

    - #### SimpleCharStream

          public SimpleCharStream(Reader dstream,
                                  int startline,
                                  int startcolumn,
                                  int buffersize)

      Constructor.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size

    - #### SimpleCharStream

          public SimpleCharStream(Reader dstream,
                                  int startline,
                                  int startcolumn)

      Constructor.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column

    - #### SimpleCharStream

          public SimpleCharStream(Reader dstream)

      Constructor.
      Parameters:
        `dstream` - stream

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream,
                                  String encoding,
                                  int startline,
                                  int startcolumn,
                                  int buffersize)
                           throws UnsupportedEncodingException

      Constructor.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream,
                                  int startline,
                                  int startcolumn,
                                  int buffersize)

      Constructor.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream,
                                  String encoding,
                                  int startline,
                                  int startcolumn)
                           throws UnsupportedEncodingException

      Constructor.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
        `startline` - start line
        `startcolumn` - start column
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream,
                                  int startline,
                                  int startcolumn)

      Constructor.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream,
                                  String encoding)
                           throws UnsupportedEncodingException

      Constructor.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### SimpleCharStream

          public SimpleCharStream(InputStream dstream)

      Constructor.
      Parameters:
        `dstream` - stream

  - ### Method Detail

    - #### setTabSize

          protected void setTabSize(int i)

    - #### getTabSize

          protected int getTabSize(int i)

    - #### ExpandBuff

          protected void ExpandBuff(boolean wrapAround)

    - #### FillBuff

          protected void FillBuff()
                           throws IOException

      Throws:
        `IOException`

    - #### BeginToken

          public char BeginToken()
                          throws IOException

      Start.
      Returns:
        first char
      Throws:
        `IOException` - in case of IO errors

    - #### UpdateLineColumn

          protected void UpdateLineColumn(char c)

    - #### readChar

          public char readChar()
                        throws IOException

      Read a character.
      Returns:
        character
      Throws:
        `IOException` - in case of IO errors

    - #### getColumn

          public int getColumn()

      Deprecated.
      Returns:
        column
      See Also:
        `getEndColumn()`

    - #### getLine

          public int getLine()

      Deprecated.
      Returns:
        line
      See Also:
        `getEndLine()`

    - #### getEndColumn

          public int getEndColumn()

      Returns:
        token end column number.

    - #### getEndLine

          public int getEndLine()

      Returns:
        token end line number.

    - #### getBeginColumn

          public int getBeginColumn()

      Returns:
        token beginning column number.

    - #### getBeginLine

          public int getBeginLine()

      Returns:
        token beginning line number.

    - #### backup

          public void backup(int amount)

      Backup a number of characters.
      Parameters:
        `amount` - amount of characters

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column

    - #### ReInit

          public void ReInit(Reader dstream)

      Reinitialise.
      Parameters:
        `dstream` - stream

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column
        `buffersize` - buffer size

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### ReInit

          public void ReInit(InputStream dstream)

      Reinitialise.
      Parameters:
        `dstream` - stream

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `encoding` - encoding
        `startline` - start line
        `startcolumn` - start column
      Throws:
        `UnsupportedEncodingException` - in case of unsupported encoding

    - #### ReInit

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

      Reinitialise.
      Parameters:
        `dstream` - stream
        `startline` - start line
        `startcolumn` - start column

    - #### GetImage

          public String GetImage()

      Returns:
        token literal value.

    - #### GetSuffix

          public char[] GetSuffix(int len)

      Parameters:
        `len` - length
      Returns:
        the suffix.

    - #### Done

          public void Done()

      Reset buffer 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` - new line
        `newCol` - new column

Copyright © 2000–2026 Apache Software Foundation. All rights reserved.