Package org.zkoss.zel.impl.parser

## Class Token

- java.lang.Object
- - org.zkoss.zel.impl.parser.Token

- All Implemented Interfaces:
    `java.io.Serializable`

      public class Token
      extends java.lang.Object
      implements java.io.Serializable

  Describes the input token stream.
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `int` | `beginColumn` | The column number of the first character of this Token.
    `int` | `beginLine` | The line number of the first character of this Token.
    `int` | `endColumn` | The column number of the last character of this Token.
    `int` | `endLine` | The line number of the last character of this Token.
    `java.lang.String` | `image` | The string image of the token.
    `int` | `kind` | An integer that describes the kind of this token.
    `Token` | `next` | A reference to the next regular (non-special) token from the input stream.
    `Token` | `specialToken` | This field is used to access special tokens that occur prior to this token, but after the immediately preceding regular (non-special) token.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Token()` | No-argument constructor
    `Token​(int kind)` | Constructs a new token for the specified Image.
    `Token​(int kind, java.lang.String image)` | Constructs a new token for the specified Image and Kind.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getValue()` | An optional attribute value of the Token.
    `static Token` | `newToken​(int ofKind)` |
    `static Token` | `newToken​(int ofKind, java.lang.String image)` | Returns a new Token object, by default.
    `java.lang.String` | `toString()` | Returns the image.

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

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

- - ### Field Detail

    - #### kind

          public int kind

      An integer that describes the kind of this token. This numbering system is determined by JavaCCParser, and a table of these numbers is stored in the file ...Constants.java.

    - #### beginLine

          public int beginLine

      The line number of the first character of this Token.

    - #### beginColumn

          public int beginColumn

      The column number of the first character of this Token.

    - #### endLine

          public int endLine

      The line number of the last character of this Token.

    - #### endColumn

          public int endColumn

      The column number of the last character of this Token.

    - #### image

          public java.lang.String image

      The string image of the token.

    - #### next

          public Token next

      A reference to the next regular (non-special) token from the input stream. If this is the last token from the input stream, or if the token manager has not read tokens beyond this one, this field is set to null. This is true only if this token is also a regular token. Otherwise, see below for a description of the contents of this field.

    - #### specialToken

          public Token specialToken

      This field is used to access special tokens that occur prior to this token, but after the immediately preceding regular (non-special) token. If there are no such special tokens, this field is set to null. When there are more than one such special token, this field refers to the last of these special tokens, which in turn refers to the next previous special token through its specialToken field, and so on until the first special token (whose specialToken field is null). The next fields of special tokens refer to other special tokens that immediately follow it (without an intervening regular token). If there is no such token, this field is null.

  - ### Constructor Detail

    - #### Token

          public Token()

      No-argument constructor

    - #### Token

          public Token​(int kind)

      Constructs a new token for the specified Image.

    - #### Token

          public Token​(int kind,
                       java.lang.String image)

      Constructs a new token for the specified Image and Kind.

  - ### Method Detail

    - #### getValue

          public java.lang.Object getValue()

      An optional attribute value of the Token. Tokens which are not used as syntactic sugar will often contain meaningful values that will be used later on by the compiler or interpreter. This attribute value is often different from the image. Any subclass of Token that actually wants to return a non-null value can override this method as appropriate.

    - #### toString

          public java.lang.String toString()

      Returns the image.
      Overrides:
        `toString` in class `java.lang.Object`

    - #### newToken

          public static Token newToken​(int ofKind,
                                       java.lang.String image)

      Returns a new Token object, by default. However, if you want, you can create and return subclass objects based on the value of ofKind. Simply add the cases to the switch for all those special cases. For example, if you have a subclass of Token called IDToken that you want to create if ofKind is ID, simply add something like : case MyParserConstants.ID : return new IDToken(ofKind, image); to the following switch statement. Then you can cast matchedToken variable to the appropriate type and use sit in your lexical actions.

    - #### newToken

          public static Token newToken​(int ofKind)