Class FunctionMultiArgs

  • All Implemented Interfaces:
    javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable
    Direct Known Subclasses:
    FuncConcat

    public class FunctionMultiArgs
    extends Function3Args
    Base class for functions that accept an undetermined number of multiple arguments.
    • Field Detail

      • args_

        Expression[] args_
        Argument expressions that are at index 3 or greater.
    • Constructor Detail

      • FunctionMultiArgs

        public FunctionMultiArgs()
    • Method Detail

      • setArg

        public void setArg​(Expression arg,
                           int argNum)
                    throws WrongNumberArgsException
        Set an argument expression for a function. This method is called by the XPath compiler.
        Overrides:
        setArg in class Function3Args
        Parameters:
        arg - non-null expression that represents the argument.
        argNum - The argument number index.
        Throws:
        WrongNumberArgsException - If the argNum parameter is beyond what is specified for this function.
      • checkNumberArgs

        public void checkNumberArgs​(int argNum)
                             throws WrongNumberArgsException
        Check that the number of arguments passed to this function is correct. This method is meant to be overloaded by derived classes, to check for the number of arguments for a specific function type. This method is called by the compiler for static number of arguments checking.
        Overrides:
        checkNumberArgs in class Function3Args
        Parameters:
        argNum - The number of arguments that is being passed to the function.
        Throws:
        WrongNumberArgsException - if any
      • canTraverseOutsideSubtree

        public boolean canTraverseOutsideSubtree()
        Tell if this expression or it's subexpressions can traverse outside the current subtree.
        Overrides:
        canTraverseOutsideSubtree in class Function3Args
        Returns:
        true if traversal outside the context node's subtree can occur.
      • deepEquals

        public boolean deepEquals​(Expression expr)
        Compare this object with another object and see if they are equal, include the sub heararchy.
        Overrides:
        deepEquals in class Function3Args
        Parameters:
        expr - Another expression object.
        Returns:
        true if this objects class and the expr object's class are the same, and the data contained within both objects are considered equal.