Class FunctionDef1Arg
java.lang.Object
org.loboevolution.apache.xpath.Expression
org.loboevolution.apache.xpath.functions.Function
org.loboevolution.apache.xpath.functions.FunctionOneArg
org.loboevolution.apache.xpath.functions.FunctionDef1Arg
- All Implemented Interfaces:
SourceLocator,ExpressionNode,XPathVisitable
- Direct Known Subclasses:
FuncLocalPart,FuncNamespace,FuncNormalizeSpace,FuncNumber,FuncQname,FuncString,FuncStringLength
Base class for functions that accept one argument that can be defaulted if not specified.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanTell if this expression or it's subexpressions can traverse outside the current subtree.voidcheckNumberArgs(int argNum) Check that the number of arguments passed to this function is correct.protected intgetArg0AsNode(XPathContext xctxt) Execute the first argument expression that is expected to return a nodeset.protected doublegetArg0AsNumber(XPathContext xctxt) Execute the first argument expression that is expected to return a number.protected XStringgetArg0AsString(XPathContext xctxt) Execute the first argument expression that is expected to return a string.protected voidConstructs and throws a WrongNumberArgException with the appropriate message for this function object.Methods inherited from class org.loboevolution.apache.xpath.functions.FunctionOneArg
callArgVisitors, deepEquals, setArgMethods inherited from class org.loboevolution.apache.xpath.functions.Function
callVisitors, execute, postCompileStepMethods inherited from class org.loboevolution.apache.xpath.Expression
asIterator, asNode, assertion, bool, error, execute, execute, execute, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, num
-
Constructor Details
-
FunctionDef1Arg
public FunctionDef1Arg()
-
-
Method Details
-
getArg0AsNode
Execute the first argument expression that is expected to return a nodeset. If the argument is null, then return the current context node.- Parameters:
xctxt- Runtime XPath context.- Returns:
- The first node of the executed nodeset, or the current context node if the first argument is null.
- Throws:
TransformerException- if an error occurs while executing the argument expression.
-
getArg0AsString
Execute the first argument expression that is expected to return a string. If the argument is null, then get the string value from the current context node.- Parameters:
xctxt- Runtime XPath context.- Returns:
- The string value of the first argument, or the string value of the current context node if the first argument is null.
- Throws:
TransformerException- if an error occurs while executing the argument expression.
-
getArg0AsNumber
Execute the first argument expression that is expected to return a number. If the argument is null, then get the number value from the current context node.- Parameters:
xctxt- Runtime XPath context.- Returns:
- The number value of the first argument, or the number value of the current context node if the first argument is null.
- Throws:
TransformerException- if an error occurs while executing the argument expression.
-
checkNumberArgs
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:
checkNumberArgsin classFunctionOneArg- Parameters:
argNum- The number of arguments that is being passed to the function.- Throws:
WrongNumberArgsException- if any
-
reportWrongNumberArgs
Constructs and throws a WrongNumberArgException with the appropriate message for this function object. This method is meant to be overloaded by derived classes so that the message will be as specific as possible.- Overrides:
reportWrongNumberArgsin classFunctionOneArg- Throws:
WrongNumberArgsException- if any
-
canTraverseOutsideSubtree
public boolean canTraverseOutsideSubtree()Tell if this expression or it's subexpressions can traverse outside the current subtree.- Overrides:
canTraverseOutsideSubtreein classFunctionOneArg- Returns:
- true if traversal outside the context node's subtree can occur.
-