Package com.caucho.xpath

Examples of com.caucho.xpath.Expr


    else if (select instanceof FilterPattern) {
      if (! allowJavaSelect(select.getParent()))
        return false;

      Expr expr = ((FilterPattern) select).getExpr();

      return ((expr instanceof NumericExpr) &&
              ((NumericExpr) expr).isConstant());
    }
View Full Code Here


    int i = _exprMap.get(exprString);

    if (i >= 0)
      return i;
   
    Expr expr = parseExpr(exprString);
    i = _exprs.size();
    _exprs.add(expr);

    _exprMap.put(exprString, i);
View Full Code Here

      print("new com.caucho.xsl.Sort[] {");
     
      for (int j = 0; j < sorts.length; j++) {
        Sort sort = sorts[j];

  Expr lang = sort.getLang();
  Expr caseOrder = sort.getCaseOrder();
 
        if (lang != null || caseOrder != null) {
          print("new com.caucho.xsl.Sort(\"" + sort.getExpr() + "\", " +
                "\"" + sort.getAscending() + "\", " +
                (lang == null ? "null, " : "\"" + lang + "\", ") +
View Full Code Here

   
    println("_exprs = new Expr[] { ");
    pushDepth();

    for (int i = 0; i < _exprs.size(); i++) {
      Expr expr = _exprs.get(i);

      println("XPath.parseExpr(\"" + expr + "\"),");

      // System.out.println("EXPR: " + expr + " " + expr.getListContext());
      /*
 
View Full Code Here

   * Generates the sort value.
   */
  public Sort generateSort()
    throws Exception
  {
    Expr expr = parseExpr(_select);

    Expr isAscending = constructBoolean(_order, "ascending");
    Expr caseOrder = constructBoolean(_caseOrder, "upper-first");

    if (_caseOrder == null)
      caseOrder = null;
     
    boolean isText = ! "number".equals(_dataType);
View Full Code Here

      name = printSelectBegin(out, select.getParent(), isForEach, loopVar);

      out.println(posId + "++;");
     
      FilterPattern pat = (FilterPattern) select;
      Expr expr = pat.getExpr();

      if (expr instanceof NumericExpr) {
        NumericExpr num = (NumericExpr) expr;
        if (num.isConstant()) {
          out.println("if (" + posId + " > " + (int) num.getValue() + ")");
View Full Code Here

    else if (select instanceof FilterPattern) {
      if (! allowJavaSelect(select.getParent()))
        return false;

      Expr expr = ((FilterPattern) select).getExpr();

      return ((expr instanceof NumericExpr) &&
              ((NumericExpr) expr).isConstant());
    }
View Full Code Here

        ! (method.getDeclaringClass().isAssignableFrom(obj.getClass())))
      throw new XPathException(L.l("Can't call method `{0}' on {1}.",
                                   method.getName(), obj));

    for (int i = 0; i < argArray.length; i++) {
      Expr expr = (Expr) args.get(i);

      switch (argTypes[i]) {
      case J_BOOLEAN:
        argArray[i] = new Boolean(expr.evalBoolean(node, env));
        break;
      case J_BYTE:
        argArray[i] = new Byte((byte) expr.evalNumber(node, env));
        break;
      case J_SHORT:
        argArray[i] = new Short((short) expr.evalNumber(node, env));
        break;
      case J_INT:
        argArray[i] = new Integer((int) expr.evalNumber(node, env));
        break;
      case J_LONG:
        argArray[i] = new Long((long) expr.evalNumber(node, env));
        break;
      case J_FLOAT:
        argArray[i] = new Float((float) expr.evalNumber(node, env));
        break;
      case J_DOUBLE:
        argArray[i] = new Double(expr.evalNumber(node, env));
        break;
      case J_STRING:
        argArray[i] = expr.evalString(node, env);
        break;
      default:
        argArray[i] = expr.evalObject(node, env);
        break;
      }
    }

    try {
View Full Code Here

    throws XPathException
  {
    Object []argArray = new Object[args.size()];

    for (int i = 0; i < argArray.length; i++) {
      Expr expr = (Expr) args.get(i);

      switch (argTypes[i]) {
      case J_BOOLEAN:
        argArray[i] = new Boolean(expr.evalBoolean(node, env));
        break;
      case J_BYTE:
        argArray[i] = new Byte((byte) expr.evalNumber(node, env));
        break;
      case J_SHORT:
        argArray[i] = new Short((short) expr.evalNumber(node, env));
        break;
      case J_INT:
        argArray[i] = new Integer((int) expr.evalNumber(node, env));
        break;
      case J_LONG:
        argArray[i] = new Long((long) expr.evalNumber(node, env));
        break;
      case J_FLOAT:
        argArray[i] = new Float((float) expr.evalNumber(node, env));
        break;
      case J_DOUBLE:
        argArray[i] = new Double(expr.evalNumber(node, env));
        break;
      case J_STRING:
        argArray[i] = expr.evalString(node, env);
        break;
      default:
        argArray[i] = expr.evalObject(node, env);
        break;
      }
    }

    try {
View Full Code Here

    if (fun == null)
      throw new RuntimeException("unknown function: " + _name);

    ArrayList<Object> values = new ArrayList<Object>();
    for (int i = 0; i < _args.size(); i++) {
      Expr expr = _args.get(i);
      values.add(expr.evalObject(node, env));
    }

    return fun.eval(node, env, _pattern, values);
  }
View Full Code Here

TOP

Related Classes of com.caucho.xpath.Expr

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.