Package org.zkoss.zel.impl.lang

## Class ExpressionBuilder

- java.lang.Object
- - org.zkoss.zel.impl.lang.ExpressionBuilder

- All Implemented Interfaces:
    `NodeVisitor`
  Direct Known Subclasses:
    `BindExpressionBuilder`

      public class ExpressionBuilder
      extends java.lang.Object
      implements NodeVisitor

  Author:
    Jacob Hookom [jacob@hookom.net]

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `expression` |
    `protected FunctionMapper` | `fnMapper` |
    `protected VariableMapper` | `varMapper` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ExpressionBuilder​(java.lang.String expression, ELContext ctx)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Node` | `build()` |
    `MethodExpression` | `createMethodExpression​(java.lang.Class<?> expectedReturnType, java.lang.Class<?>[] expectedParamTypes)` |
    `static Node` | `createNode​(java.lang.String expr)` |
    `ValueExpression` | `createValueExpression​(java.lang.Class<?> expectedType)` |
    `void` | `visit​(Node node)` |

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

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

- - ### Field Detail

    - #### fnMapper

          protected FunctionMapper fnMapper

    - #### varMapper

          protected VariableMapper varMapper

    - #### expression

          protected java.lang.String expression

  - ### Constructor Detail

    - #### ExpressionBuilder

          public ExpressionBuilder​(java.lang.String expression,
                                   ELContext ctx)
                            throws ELException

      Throws:
        `ELException`

  - ### Method Detail

    - #### createNode

          public static final Node createNode​(java.lang.String expr)
                                       throws ELException

      Throws:
        `ELException`

    - #### build

          protected Node build()
                        throws ELException

      Throws:
        `ELException`

    - #### visit

          public void visit​(Node node)
                     throws ELException

      Specified by:
        `visit` in interface `NodeVisitor`
      Throws:
        `ELException`

    - #### createValueExpression

          public ValueExpression createValueExpression​(java.lang.Class<?> expectedType)
                                                throws ELException

      Throws:
        `ELException`

    - #### createMethodExpression

          public MethodExpression createMethodExpression​(java.lang.Class<?> expectedReturnType,
                                                         java.lang.Class<?>[] expectedParamTypes)
                                                  throws ELException

      Throws:
        `ELException`