| java.lang.Object org.apache.xpath.Expression org.apache.xpath.functions.Function org.apache.xpath.functions.FuncExtFunction
FuncExtFunction | public class FuncExtFunction extends Function (Code) | | An object of this class represents an extension call expression. When
the expression executes, it calls ExtensionsTable#extFunction, and then
converts the result to the appropriate XObject.
|
m_argVec | Vector m_argVec(Code) | | Array of static expressions which represent the parameters to the
function.
|
m_extensionName | String m_extensionName(Code) | | The local name of the extension.
|
m_methodKey | Object m_methodKey(Code) | | Unique method key, which is passed to ExtensionsTable#extFunction in
order to allow caching of the method.
|
m_namespace | String m_namespace(Code) | | The namespace for the extension function, which should not normally
be null or empty.
|
serialVersionUID | final static long serialVersionUID(Code) | | |
FuncExtFunction | public FuncExtFunction(java.lang.String namespace, java.lang.String extensionName, Object methodKey)(Code) | | Create a new FuncExtFunction based on the qualified name of the extension,
and a unique method key.
Parameters: namespace - The namespace for the extension function, which shouldnot normally be null or empty. Parameters: extensionName - The local name of the extension. Parameters: methodKey - Unique method key, which is passed toExtensionsTable#extFunction in order to allow cachingof the method. |
callArgVisitors | public void callArgVisitors(XPathVisitor visitor)(Code) | | Call the visitors for the function arguments.
|
checkNumberArgs | public void checkNumberArgs(int argNum) throws WrongNumberArgsException(Code) | | Check that the number of arguments passed to this function is correct.
Parameters: argNum - The number of arguments that is being passed to the function. throws: WrongNumberArgsException - |
exprSetParent | public void exprSetParent(ExpressionNode n)(Code) | | Set the parent node.
For an extension function, we also need to set the parent
node for all argument expressions.
Parameters: n - The parent node |
fixupVariables | public void fixupVariables(java.util.Vector vars, int globalsSize)(Code) | | This function is used to fixup variables from QNames to stack frame
indexes at stylesheet build time.
Parameters: vars - List of QNames that correspond to variables. This listshould be searched backwards for the first qualified name thatcorresponds to the variable reference qname. The position of theQName in the vector from the start of the vector will be its positionin the stack frame (but variables above the globalsTop value will needto be offset to the current stack frame).NEEDSDOC @param globalsSize |
getArg | public Expression getArg(int n)(Code) | | Return the nth argument passed to the extension function.
Parameters: n - The argument number index. The Expression object at the given index. |
getArgCount | public int getArgCount()(Code) | | Return the number of arguments that were passed
into this extension function.
The number of arguments. |
getFunctionName | public String getFunctionName()(Code) | | Return the name of the extension function.
The name of the extension function. |
getMethodKey | public Object getMethodKey()(Code) | | Return the method key of the extension function.
The method key of the extension function. |
getNamespace | public String getNamespace()(Code) | | Return the namespace of the extension function.
The namespace of the extension function. |
reportWrongNumberArgs | protected void reportWrongNumberArgs() throws WrongNumberArgsException(Code) | | Constructs and throws a WrongNumberArgException with the appropriate
message for this function object. This class supports an arbitrary
number of arguments, so this method must never be called.
throws: WrongNumberArgsException - |
setArg | public void setArg(Expression arg, int argNum) throws WrongNumberArgsException(Code) | | Set an argument expression for a function. This method is called by the
XPath compiler.
Parameters: arg - non-null expression that represents the argument. Parameters: argNum - The argument number index. throws: WrongNumberArgsException - If the argNum parameter is beyond whatis specified for this function. |
toString | public String toString()(Code) | | Return the name of the extesion function in string format
|
Fields inherited from org.apache.xpath.functions.Function | final static long serialVersionUID(Code)(Java Doc)
|
Methods inherited from org.apache.xpath.Expression | public DTMIterator asIterator(XPathContext xctxt, int contextNode) throws javax.xml.transform.TransformerException(Code)(Java Doc) public DTMIterator asIteratorRaw(XPathContext xctxt, int contextNode) throws javax.xml.transform.TransformerException(Code)(Java Doc) public int asNode(XPathContext xctxt) throws javax.xml.transform.TransformerException(Code)(Java Doc) public void assertion(boolean b, java.lang.String msg)(Code)(Java Doc) public boolean bool(XPathContext xctxt) throws javax.xml.transform.TransformerException(Code)(Java Doc) public boolean canTraverseOutsideSubtree()(Code)(Java Doc) abstract public boolean deepEquals(Expression expr)(Code)(Java Doc) public void error(XPathContext xctxt, String msg, Object[] args) throws javax.xml.transform.TransformerException(Code)(Java Doc) public XObject execute(XPathContext xctxt, int currentNode) throws javax.xml.transform.TransformerException(Code)(Java Doc) public XObject execute(XPathContext xctxt, int currentNode, DTM dtm, int expType) throws javax.xml.transform.TransformerException(Code)(Java Doc) abstract public XObject execute(XPathContext xctxt) throws javax.xml.transform.TransformerException(Code)(Java Doc) public XObject execute(XPathContext xctxt, boolean destructiveOK) throws javax.xml.transform.TransformerException(Code)(Java Doc) public void executeCharsToContentHandler(XPathContext xctxt, ContentHandler handler) throws javax.xml.transform.TransformerException, org.xml.sax.SAXException(Code)(Java Doc) public void exprAddChild(ExpressionNode n, int i)(Code)(Java Doc) public ExpressionNode exprGetChild(int i)(Code)(Java Doc) public int exprGetNumChildren()(Code)(Java Doc) public ExpressionNode exprGetParent()(Code)(Java Doc) public void exprSetParent(ExpressionNode n)(Code)(Java Doc) abstract public void fixupVariables(java.util.Vector vars, int globalsSize)(Code)(Java Doc) public int getColumnNumber()(Code)(Java Doc) public ExpressionNode getExpressionOwner()(Code)(Java Doc) public int getLineNumber()(Code)(Java Doc) public String getPublicId()(Code)(Java Doc) public String getSystemId()(Code)(Java Doc) public boolean isNodesetExpr()(Code)(Java Doc) final protected boolean isSameClass(Expression expr)(Code)(Java Doc) public boolean isStableNumber()(Code)(Java Doc) public double num(XPathContext xctxt) throws javax.xml.transform.TransformerException(Code)(Java Doc) public void warn(XPathContext xctxt, String msg, Object[] args) throws javax.xml.transform.TransformerException(Code)(Java Doc) public XMLString xstr(XPathContext xctxt) throws javax.xml.transform.TransformerException(Code)(Java Doc)
|
|
|