public Object compute(EvalContext context) { return computeValue(context); }
/** * Wrap an expression in parens if necessary. * @param expression other Expression * @param left whether <code>expression</code> is left of this one. * @return String */ private String parenthesize(Expression expression, boolean left) { String s = expression.toString(); if (!(expression instanceof CoreOperation)) { return s; } int compared = getPrecedence() - ((CoreOperation) expression).getPrecedence(); if (compared < 0) { return s; } if (compared == 0 && (isSymmetric() || left)) { return s; } return '(' + s + ')'; } }
public String toString() { if (args.length == 1) { return getSymbol() + parenthesize(args[0], false); } StringBuffer buffer = new StringBuffer(); for (int i = 0; i < args.length; i++) { if (i > 0) { buffer.append(' '); buffer.append(getSymbol()); buffer.append(' '); } buffer.append(parenthesize(args[i], i == 0)); } return buffer.toString(); }
throws XPathException { int code = getCoreOperationCode(coreOperation); Expression[] arguments = coreOperation.getArguments(); coreOperation.toString())); mLogger.log(Level.FINEST, "processCoreOperation", xpe); throw xpe;