Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl2.parser
Class JexlParser

    java.lang.Object
      org.apache.commons.jexl2.parser.StringParser
          org.apache.commons.jexl2.parser.JexlParser

Direct Known Subclasses:
  Parser

    public class JexlParser

extends StringParser

The base class for parsing, manages the parameter/local variable frame.

Author:
  henri

Field Summary
`protected JexlEngine.Scope` | `frame` The map of named registers aka script parameters.

Constructor Summary
`JexlParser()`

Method Summary
`String` | `checkVariable(ASTIdentifier identifier, String image)` Checks whether an identifier is a local variable or argument, ie stored in a register.
`void` | `declareVariable(ASTVar identifier, String image)` Declares a local variable.
`JexlEngine.Scope` | `getFrame()` Gets the frame used by this parser.
`Token` | `getToken(int index)`
`void` | `Identifier()`
`void` | `Identifier(boolean top)` Default implementation does nothing but is overriden by generated code.
`void` | `setFrame(JexlEngine.Scope theFrame)` Sets the frame to use bythis parser.

Methods inherited from class org.apache.commons.jexl2.parser.StringParser
`buildString, escapeString, readString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### frame

    protected JexlEngine.Scope frame

  The map of named registers aka script parameters. Each parameter is associated to a register and is materialized as an offset in the registers array used during evaluation.

Constructor Detail

### JexlParser

    public JexlParser()

Method Detail

### setFrame

    public void setFrame(JexlEngine.Scope theFrame)

  Sets the frame to use bythis parser.

  This is used to allow parameters to be declared before parsing.

  Parameters:
    `theFrame` - the register map

### getFrame

    public JexlEngine.Scope getFrame()

  Gets the frame used by this parser.

  Since local variables create new named registers, it is important to regain access after parsing to known which / how-many registers are needed.

  Returns:
    the named register map

### checkVariable

    public String checkVariable(ASTIdentifier identifier,
                                String image)

  Checks whether an identifier is a local variable or argument, ie stored in a register.

  Parameters:
    `identifier` - the identifier
    `image` - the identifier image
  Returns:
    the image

### declareVariable

    public void declareVariable(ASTVar identifier,
                                String image)

  Declares a local variable.

  This method creates an new entry in the named register map.

  Parameters:
    `identifier` - the identifier used to declare
    `image` - the variable name

### Identifier

    public void Identifier(boolean top)
                    throws ParseException

  Default implementation does nothing but is overriden by generated code.

  Parameters:
    `top` - whether the identifier is beginning an l/r value
  Throws:
    `ParseException` - subclasses may throw this

### Identifier

    public final void Identifier()
                          throws ParseException

  Throws:
    `ParseException`

### getToken

    public Token getToken(int index)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.