Package org.jboss.el.parser

Examples of org.jboss.el.parser.Node


      this.varMapper = new VariableMapperFactory(ctxVar);
    }
  }

  public final static Node createNode(String expr) throws ELException {
    Node n = createNodeInternal(expr);
    return n;
  }
View Full Code Here


      throws ELException {
    if (expr == null) {
      throw new ELException(MessageFactory.get("error.null"));
    }

    Node n = (Node) cache.get(expr);
    if (n == null) {
      try {
        n = (new ELParser(new StringReader(expr)))
            .CompositeExpression();

        // validate composite expression
        if (n instanceof AstCompositeExpression) {
          int numChildren = n.jjtGetNumChildren();
          if (numChildren == 1) {
            n = n.jjtGetChild(0);
          } else {
            Class type = null;
            Node child = null;
            for (int i = 0; i < numChildren; i++) {
              child = n.jjtGetChild(i);
              if (child instanceof AstLiteralExpression)
                continue;
              if (type == null)
                type = child.getClass();
              else {
                if (!type.equals(child.getClass())) {
                  throw new ELException(MessageFactory.get(
                      "error.mixed", expr));
                }
              }
            }
View Full Code Here

      this.varMapper = ((VariableMapperFactory) this.varMapper).create();
    }
  }

  private Node build() throws ELException {
    Node n = createNodeInternal(this.expression);
    this.prepare(n);
    if (n instanceof AstDeferredExpression
        || n instanceof AstDynamicExpression) {
      n = n.jjtGetChild(0);
    }
    return n;
  }
View Full Code Here

    }
  }

  public ValueExpression createValueExpression(Class expectedType)
      throws ELException {
    Node n = this.build();
    return new ValueExpressionImpl(this.expression, n, this.fnMapper,
        this.varMapper, expectedType);
  }
View Full Code Here

        this.varMapper, expectedType);
  }

  public MethodExpression createMethodExpression(Class expectedReturnType,
      Class[] expectedParamTypes) throws ELException {
    Node n = this.build();
    if (n instanceof AstValue || n instanceof AstIdentifier) {
      return new MethodExpressionImpl(expression, n, this.fnMapper,
          this.varMapper, expectedReturnType, expectedParamTypes);
    } else if (n instanceof AstLiteralExpression) {
      return new MethodExpressionLiteral(expression, expectedReturnType,
View Full Code Here

     * @see javax.el.MethodExpression#getMethodInfo(javax.el.ELContext)
     */
    public MethodInfo getMethodInfo(ELContext context)
            throws PropertyNotFoundException, MethodNotFoundException,
            ELException {
        Node n = this.getNode();
        EvaluationContext ctx = new EvaluationContext(context, this.fnMapper,
                this.varMapper);
        return n.getMethodInfo(ctx, this.paramTypes);
    }
View Full Code Here

      this.varMapper = new VariableMapperFactory(ctxVar);
    }
  }

  public final static Node createNode(String expr) throws ELException {
    Node n = createNodeInternal(expr);
    return n;
  }
View Full Code Here

      throws ELException {
    if (expr == null) {
      throw new ELException(MessageFactory.get("error.null"));
    }

    Node n = (Node) cache.get(expr);
    if (n == null) {
      try {
        n = (new ELParser(new StringReader(expr)))
            .CompositeExpression();

        // validate composite expression
        if (n instanceof AstCompositeExpression) {
          int numChildren = n.jjtGetNumChildren();
          if (numChildren == 1) {
            n = n.jjtGetChild(0);
          } else {
            Class type = null;
            Node child = null;
            for (int i = 0; i < numChildren; i++) {
              child = n.jjtGetChild(i);
              if (child instanceof AstLiteralExpression)
                continue;
              if (type == null)
                type = child.getClass();
              else {
                if (!type.equals(child.getClass())) {
                  throw new ELException(MessageFactory.get(
                      "error.mixed", expr));
                }
              }
            }
View Full Code Here

      this.varMapper = ((VariableMapperFactory) this.varMapper).create();
    }
  }

  private Node build() throws ELException {
    Node n = createNodeInternal(this.expression);
    this.prepare(n);
    if (n instanceof AstDeferredExpression
        || n instanceof AstDynamicExpression) {
      n = n.jjtGetChild(0);
    }
    return n;
  }
View Full Code Here

    }
  }

  public ValueExpression createValueExpression(Class expectedType)
      throws ELException {
    Node n = this.build();
    return new ValueExpressionImpl(this.expression, n, this.fnMapper,
        this.varMapper, expectedType);
  }
View Full Code Here

TOP

Related Classes of org.jboss.el.parser.Node

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.