blob: 3d756f940d74f5533cb8e96b32e7ee1e05d42289 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_18) on Sun Apr 01 21:18:42 PDT 2012 -->
<TITLE>
Function
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xpath.functions.Function class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Function";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Function.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/xpath/functions/FuncSystemProperty.html" title="class in org.apache.xpath.functions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xpath/functions/Function2Args.html" title="class in org.apache.xpath.functions"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/xpath/functions/Function.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Function.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.xpath.functions</FONT>
<BR>
Class Function</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">org.apache.xpath.Expression</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.xpath.functions.Function</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, javax.xml.transform.SourceLocator, <A HREF="../../../../org/apache/xpath/ExpressionNode.html" title="interface in org.apache.xpath">ExpressionNode</A>, <A HREF="../../../../org/apache/xpath/XPathVisitable.html" title="interface in org.apache.xpath">XPathVisitable</A></DD>
</DL>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/xpath/functions/FuncCurrent.html" title="class in org.apache.xpath.functions">FuncCurrent</A>, <A HREF="../../../../org/apache/xpath/functions/FuncExtFunction.html" title="class in org.apache.xpath.functions">FuncExtFunction</A>, <A HREF="../../../../org/apache/xpath/functions/FuncFalse.html" title="class in org.apache.xpath.functions">FuncFalse</A>, <A HREF="../../../../org/apache/xpath/functions/FuncLast.html" title="class in org.apache.xpath.functions">FuncLast</A>, <A HREF="../../../../org/apache/xpath/functions/FuncPosition.html" title="class in org.apache.xpath.functions">FuncPosition</A>, <A HREF="../../../../org/apache/xpath/functions/FunctionOneArg.html" title="class in org.apache.xpath.functions">FunctionOneArg</A>, <A HREF="../../../../org/apache/xpath/functions/FuncTrue.html" title="class in org.apache.xpath.functions">FuncTrue</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public abstract class <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.41"><B>Function</B></A><DT>extends <A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A></DL>
</PRE>
<P>
This is a superclass of all XPath functions. This allows two
ways for the class to be called. One method is that the
super class processes the arguments and hands the results to
the derived class, the other method is that the derived
class may process it's own arguments, which is faster since
the arguments don't have to be added to an array, but causes
a larger code footprint.
<P>
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.xpath.functions.Function">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) static&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#serialVersionUID">serialVersionUID</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#Function()">Function</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#callArgVisitors(org.apache.xpath.XPathVisitor)">callArgVisitors</A></B>(<A HREF="../../../../org/apache/xpath/XPathVisitor.html" title="class in org.apache.xpath">XPathVisitor</A>&nbsp;visitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call the visitors for the function arguments.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#callVisitors(org.apache.xpath.ExpressionOwner, org.apache.xpath.XPathVisitor)">callVisitors</A></B>(<A HREF="../../../../org/apache/xpath/ExpressionOwner.html" title="interface in org.apache.xpath">ExpressionOwner</A>&nbsp;owner,
<A HREF="../../../../org/apache/xpath/XPathVisitor.html" title="class in org.apache.xpath">XPathVisitor</A>&nbsp;visitor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This will traverse the heararchy, calling the visitor for
each member.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#checkNumberArgs(int)">checkNumberArgs</A></B>(int&nbsp;argNum)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check that the number of arguments passed to this function is correct.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#deepEquals(org.apache.xpath.Expression)">deepEquals</A></B>(<A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A>&nbsp;expr)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compare this object with another object and see
if they are equal, include the sub heararchy.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#execute(org.apache.xpath.XPathContext)">execute</A></B>(<A HREF="../../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Execute an XPath function object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#postCompileStep(org.apache.xpath.compiler.Compiler)">postCompileStep</A></B>(<A HREF="../../../../org/apache/xpath/compiler/Compiler.html" title="class in org.apache.xpath.compiler">Compiler</A>&nbsp;compiler)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This function is currently only being used by Position()
and Last().</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#reportWrongNumberArgs()">reportWrongNumberArgs</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs and throws a WrongNumberArgException with the appropriate
message for this function object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xpath/functions/Function.html#setArg(org.apache.xpath.Expression, int)">setArg</A></B>(<A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A>&nbsp;arg,
int&nbsp;argNum)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set an argument expression for a function.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.xpath.Expression"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class org.apache.xpath.<A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/xpath/Expression.html#asIterator(org.apache.xpath.XPathContext, int)">asIterator</A>, <A HREF="../../../../org/apache/xpath/Expression.html#asIteratorRaw(org.apache.xpath.XPathContext, int)">asIteratorRaw</A>, <A HREF="../../../../org/apache/xpath/Expression.html#asNode(org.apache.xpath.XPathContext)">asNode</A>, <A HREF="../../../../org/apache/xpath/Expression.html#assertion(boolean, java.lang.String)">assertion</A>, <A HREF="../../../../org/apache/xpath/Expression.html#bool(org.apache.xpath.XPathContext)">bool</A>, <A HREF="../../../../org/apache/xpath/Expression.html#canTraverseOutsideSubtree()">canTraverseOutsideSubtree</A>, <A HREF="../../../../org/apache/xpath/Expression.html#error(org.apache.xpath.XPathContext, java.lang.String, java.lang.Object[])">error</A>, <A HREF="../../../../org/apache/xpath/Expression.html#execute(org.apache.xpath.XPathContext, boolean)">execute</A>, <A HREF="../../../../org/apache/xpath/Expression.html#execute(org.apache.xpath.XPathContext, int)">execute</A>, <A HREF="../../../../org/apache/xpath/Expression.html#execute(org.apache.xpath.XPathContext, int, org.apache.xml.dtm.DTM, int)">execute</A>, <A HREF="../../../../org/apache/xpath/Expression.html#executeCharsToContentHandler(org.apache.xpath.XPathContext, org.xml.sax.ContentHandler)">executeCharsToContentHandler</A>, <A HREF="../../../../org/apache/xpath/Expression.html#exprAddChild(org.apache.xpath.ExpressionNode, int)">exprAddChild</A>, <A HREF="../../../../org/apache/xpath/Expression.html#exprGetChild(int)">exprGetChild</A>, <A HREF="../../../../org/apache/xpath/Expression.html#exprGetNumChildren()">exprGetNumChildren</A>, <A HREF="../../../../org/apache/xpath/Expression.html#exprGetParent()">exprGetParent</A>, <A HREF="../../../../org/apache/xpath/Expression.html#exprSetParent(org.apache.xpath.ExpressionNode)">exprSetParent</A>, <A HREF="../../../../org/apache/xpath/Expression.html#fixupVariables(java.util.Vector, int)">fixupVariables</A>, <A HREF="../../../../org/apache/xpath/Expression.html#getColumnNumber()">getColumnNumber</A>, <A HREF="../../../../org/apache/xpath/Expression.html#getExpressionOwner()">getExpressionOwner</A>, <A HREF="../../../../org/apache/xpath/Expression.html#getLineNumber()">getLineNumber</A>, <A HREF="../../../../org/apache/xpath/Expression.html#getPublicId()">getPublicId</A>, <A HREF="../../../../org/apache/xpath/Expression.html#getSystemId()">getSystemId</A>, <A HREF="../../../../org/apache/xpath/Expression.html#isNodesetExpr()">isNodesetExpr</A>, <A HREF="../../../../org/apache/xpath/Expression.html#isSameClass(org.apache.xpath.Expression)">isSameClass</A>, <A HREF="../../../../org/apache/xpath/Expression.html#isStableNumber()">isStableNumber</A>, <A HREF="../../../../org/apache/xpath/Expression.html#num(org.apache.xpath.XPathContext)">num</A>, <A HREF="../../../../org/apache/xpath/Expression.html#warn(org.apache.xpath.XPathContext, java.lang.String, java.lang.Object[])">warn</A>, <A HREF="../../../../org/apache/xpath/Expression.html#xstr(org.apache.xpath.XPathContext)">xstr</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="serialVersionUID"><!-- --></A><H3>
serialVersionUID</H3>
<PRE>
static final long <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.43"><B>serialVersionUID</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#org.apache.xpath.functions.Function.serialVersionUID">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="Function()"><!-- --></A><H3>
Function</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.41"><B>Function</B></A>()</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="setArg(org.apache.xpath.Expression, int)"><!-- --></A><H3>
setArg</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.55"><B>setArg</B></A>(<A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A>&nbsp;arg,
int&nbsp;argNum)
throws <A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></PRE>
<DL>
<DD>Set an argument expression for a function. This method is called by the
XPath compiler.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>arg</CODE> - non-null expression that represents the argument.<DD><CODE>argNum</CODE> - The argument number index.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></CODE> - If the argNum parameter is beyond what
is specified for this function.</DL>
</DD>
</DL>
<HR>
<A NAME="checkNumberArgs(int)"><!-- --></A><H3>
checkNumberArgs</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.72"><B>checkNumberArgs</B></A>(int&nbsp;argNum)
throws <A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>argNum</CODE> - The number of arguments that is being passed to the function.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="reportWrongNumberArgs()"><!-- --></A><H3>
reportWrongNumberArgs</H3>
<PRE>
protected void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.85"><B>reportWrongNumberArgs</B></A>()
throws <A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></PRE>
<DL>
<DD>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.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../org/apache/xpath/functions/WrongNumberArgsException.html" title="class in org.apache.xpath.functions">WrongNumberArgsException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="execute(org.apache.xpath.XPathContext)"><!-- --></A><H3>
execute</H3>
<PRE>
public <A HREF="../../../../org/apache/xpath/objects/XObject.html" title="class in org.apache.xpath.objects">XObject</A> <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.97"><B>execute</B></A>(<A HREF="../../../../org/apache/xpath/XPathContext.html" title="class in org.apache.xpath">XPathContext</A>&nbsp;xctxt)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Execute an XPath function object. The function must return
a valid object.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xpath/Expression.html#execute(org.apache.xpath.XPathContext)">execute</A></CODE> in class <CODE><A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xctxt</CODE> - The execution current context.
<DT><B>Returns:</B><DD>A valid XObject.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="callArgVisitors(org.apache.xpath.XPathVisitor)"><!-- --></A><H3>
callArgVisitors</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.109"><B>callArgVisitors</B></A>(<A HREF="../../../../org/apache/xpath/XPathVisitor.html" title="class in org.apache.xpath">XPathVisitor</A>&nbsp;visitor)</PRE>
<DL>
<DD>Call the visitors for the function arguments.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="callVisitors(org.apache.xpath.ExpressionOwner, org.apache.xpath.XPathVisitor)"><!-- --></A><H3>
callVisitors</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.117"><B>callVisitors</B></A>(<A HREF="../../../../org/apache/xpath/ExpressionOwner.html" title="interface in org.apache.xpath">ExpressionOwner</A>&nbsp;owner,
<A HREF="../../../../org/apache/xpath/XPathVisitor.html" title="class in org.apache.xpath">XPathVisitor</A>&nbsp;visitor)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../org/apache/xpath/XPathVisitable.html#callVisitors(org.apache.xpath.ExpressionOwner, org.apache.xpath.XPathVisitor)">XPathVisitable</A></CODE></B></DD>
<DD>This will traverse the heararchy, calling the visitor for
each member. If the called visitor method returns
false, the subtree should not be called.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>owner</CODE> - The owner of the visitor, where that path may be
rewritten if needed.<DD><CODE>visitor</CODE> - The visitor whose appropriate method will be called.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/xpath/XPathVisitable.html#callVisitors(org.apache.xpath.ExpressionOwner, org.apache.xpath.XPathVisitor)"><CODE>XPathVisitable.callVisitors(ExpressionOwner, XPathVisitor)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="deepEquals(org.apache.xpath.Expression)"><!-- --></A><H3>
deepEquals</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.128"><B>deepEquals</B></A>(<A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A>&nbsp;expr)</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../org/apache/xpath/Expression.html#deepEquals(org.apache.xpath.Expression)">Expression</A></CODE></B></DD>
<DD>Compare this object with another object and see
if they are equal, include the sub heararchy.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xpath/Expression.html#deepEquals(org.apache.xpath.Expression)">deepEquals</A></CODE> in class <CODE><A HREF="../../../../org/apache/xpath/Expression.html" title="class in org.apache.xpath">Expression</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>expr</CODE> - Another expression object.
<DT><B>Returns:</B><DD>true if this objects class and the expr
object's class are the same, and the data contained
within both objects are considered equal.<DT><B>See Also:</B><DD><A HREF="../../../../org/apache/xpath/Expression.html#deepEquals(org.apache.xpath.Expression)"><CODE>Expression.deepEquals(Expression)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="postCompileStep(org.apache.xpath.compiler.Compiler)"><!-- --></A><H3>
postCompileStep</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xpath/functions/Function.html#line.140"><B>postCompileStep</B></A>(<A HREF="../../../../org/apache/xpath/compiler/Compiler.html" title="class in org.apache.xpath.compiler">Compiler</A>&nbsp;compiler)</PRE>
<DL>
<DD>This function is currently only being used by Position()
and Last(). See respective functions for more detail.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Function.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/xpath/functions/FuncSystemProperty.html" title="class in org.apache.xpath.functions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xpath/functions/Function2Args.html" title="class in org.apache.xpath.functions"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/xpath/functions/Function.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="Function.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>