Search in sources :

Example 6 with Error

use of org.exist.xquery.util.Error in project exist by eXist-db.

the class QNameIndexLookup method setArguments.

/**
 * Overwritten to disable automatic type checks. We check manually.
 *
 * @see org.exist.xquery.Function#setArguments(java.util.List)
 */
public void setArguments(List<Expression> arguments) throws XPathException {
    // wrap arguments into a cardinality check, so an error will be generated if
    // one of the arguments returns an empty sequence
    Expression arg = arguments.get(0);
    arg = new DynamicCardinalityCheck(context, Cardinality.ONE_OR_MORE, arg, new Error(Error.FUNC_PARAM_CARDINALITY, "1", getSignature()));
    steps.add(arg);
    arg = arguments.get(1);
    arg = new DynamicCardinalityCheck(context, Cardinality.ONE_OR_MORE, arg, new Error(Error.FUNC_PARAM_CARDINALITY, "2", getSignature()));
    steps.add(arg);
    if (arguments.size() == 3) {
        arg = arguments.get(2);
        arg = new DynamicCardinalityCheck(context, Cardinality.ONE_OR_MORE, arg, new Error(Error.FUNC_PARAM_CARDINALITY, "3", getSignature()));
        steps.add(arg);
    }
}
Also used : Expression(org.exist.xquery.Expression) DynamicCardinalityCheck(org.exist.xquery.DynamicCardinalityCheck) Error(org.exist.xquery.util.Error)

Aggregations

Error (org.exist.xquery.util.Error)6 DynamicCardinalityCheck (org.exist.xquery.DynamicCardinalityCheck)2 Expression (org.exist.xquery.Expression)2 RegularExpression (net.sf.saxon.regex.RegularExpression)1 QName (org.exist.dom.QName)1 Atomize (org.exist.xquery.Atomize)1