Package com.caucho.xpath

Examples of com.caucho.xpath.Expr


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

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

      if (expr instanceof NumericExpr) {
        NumericExpr num = (NumericExpr) expr;
        if (num.isConstant()) {
          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

    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

      String select = elt.getAttribute("select");
      if (select.equals(""))
        throw error(L.l("{0} expects attribute `{1}'",
                        "xsl:sort", "select"));

      Expr expr = parseExpr(select);
      String order = elt.getAttribute("order");
      Expr isAscending = null;
      if (order.equals("")) {
        isAscending = parseExpr("true()");
      }
      else if (order.startsWith("{") && order.endsWith("}")) {
        order = order.substring(1, order.length() - 1);
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

    }
   
    boolean []ascendingList = new boolean[sortList.length];

    for (int i = 0; i < ascendingList.length; i++) {
      Expr isAscending = sortList[i].getAscending();
      if (isAscending == null || isAscending.evalBoolean(node, env))
        ascendingList[i] = true;
    }

    Comparator []comparatorList = new Comparator[sortList.length];

    for (int i = 0; i < comparatorList.length; i++) {
      Expr langExpr = sortList[i].getLang();
      String lang = null;

      if (langExpr != null) {
        lang = langExpr.evalString(node, env);
      }

      if (lang != null)
        comparatorList[i] = getComparator(lang);
    }

    int []caseOrderList = new int[sortList.length];

    for (int i = 0; i < caseOrderList.length; i++) {
      Expr caseOrder = sortList[i].getCaseOrder();
      if (caseOrder == null)
        caseOrderList[i] = Sort.NO_CASE_ORDER;
      else if (caseOrder.evalBoolean(node, env))
        caseOrderList[i] = Sort.UPPER_FIRST;
      else
        caseOrderList[i] = Sort.LOWER_FIRST;
    }
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.