Package org.apache.catalina.ssi

# Class ExpressionTokenizer

java.lang.Object
org.apache.catalina.ssi.ExpressionTokenizer

public class ExpressionTokenizer extends Object
Parses an expression string to return the individual tokens. This is patterned similar to the StreamTokenizer in the JDK but customized for SSI conditional expression parsing.

Author:
  Paul Speed

## Field Summary

Fields
Modifier and Type
Field
Description
`static final int`
`TOKEN_AND`
`static final int`
`TOKEN_END`
`static final int`
`TOKEN_EQ`
`static final int`
`TOKEN_GE`
`static final int`
`TOKEN_GT`
`static final int`
`TOKEN_LBRACE`
`static final int`
`TOKEN_LE`
`static final int`
`TOKEN_LT`
`static final int`
`TOKEN_NOT`
`static final int`
`TOKEN_NOT_EQ`
`static final int`
`TOKEN_OR`
`static final int`
`TOKEN_RBRACE`
`static final int`
`TOKEN_STRING`

## Constructor Summary

Constructors
Constructor
Description
`ExpressionTokenizer(String expr)`
Creates a new parser for the specified expression.

## Method Summary

Modifier and Type
Method
Description
`int`
`getIndex()`
`String`
`getTokenValue()`
`boolean`
`hasMoreTokens()`
`protected boolean`
`isMetaChar(char c)`
`int`
`nextToken()`

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

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

## Field Details

### TOKEN_STRING

public static final int TOKEN_STRING

See Also:
  - Constant Field Values

### TOKEN_AND

public static final int TOKEN_AND

See Also:
  - Constant Field Values

### TOKEN_OR

public static final int TOKEN_OR

See Also:
  - Constant Field Values

### TOKEN_NOT

public static final int TOKEN_NOT

See Also:
  - Constant Field Values

### TOKEN_EQ

public static final int TOKEN_EQ

See Also:
  - Constant Field Values

### TOKEN_NOT_EQ

public static final int TOKEN_NOT_EQ

See Also:
  - Constant Field Values

### TOKEN_RBRACE

public static final int TOKEN_RBRACE

See Also:
  - Constant Field Values

### TOKEN_LBRACE

public static final int TOKEN_LBRACE

See Also:
  - Constant Field Values

### TOKEN_GE

public static final int TOKEN_GE

See Also:
  - Constant Field Values

### TOKEN_LE

public static final int TOKEN_LE

See Also:
  - Constant Field Values

### TOKEN_GT

public static final int TOKEN_GT

See Also:
  - Constant Field Values

### TOKEN_LT

public static final int TOKEN_LT

See Also:
  - Constant Field Values

### TOKEN_END

public static final int TOKEN_END

See Also:
  - Constant Field Values

## Constructor Details

### ExpressionTokenizer

public ExpressionTokenizer(String expr)
Creates a new parser for the specified expression.

Parameters:
  `expr` - The expression

## Method Details

### hasMoreTokens

public boolean hasMoreTokens()

Returns:
  `true` if there are more tokens.

### getIndex

public int getIndex()

Returns:
  the current index for error reporting purposes.

### isMetaChar

protected boolean isMetaChar(char c)

### nextToken

public int nextToken()

Returns:
  the next token type and initializes any state variables accordingly.

### getTokenValue

public String getTokenValue()

Returns:
  the String value of the token if it was type TOKEN_STRING. Otherwise null is returned.