blob: 20dfd0c942aeec01aa2ad3f8397a935c35da99df [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:05 PDT 2012 -->
<TITLE>
ExtensionHandlerJavaPackage
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xalan.extensions.ExtensionHandlerJavaPackage class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ExtensionHandlerJavaPackage";
}
</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/ExtensionHandlerJavaPackage.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/xalan/extensions/ExtensionHandlerJavaClass.html" title="class in org.apache.xalan.extensions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xalan/extensions/ExtensionNamespaceContext.html" title="class in org.apache.xalan.extensions"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtensionHandlerJavaPackage.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="#fields_inherited_from_class_org.apache.xalan.extensions.ExtensionHandlerJava">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;FIELD&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.xalan.extensions</FONT>
<BR>
Class ExtensionHandlerJavaPackage</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">org.apache.xalan.extensions.ExtensionHandler</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions">org.apache.xalan.extensions.ExtensionHandlerJava</A>
<IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.xalan.extensions.ExtensionHandlerJavaPackage</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.63"><B>ExtensionHandlerJavaPackage</B></A><DT>extends <A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions">ExtensionHandlerJava</A></DL>
</PRE>
<P>
Represents an extension namespace for XPath that handles java packages
that may be fully or partially specified.
It is recommended that the class URI be of one of the following forms:
<pre>
xalan://partial.class.name
xalan://
http://xml.apache.org/xalan/java (which is the same as xalan://)
</pre>
However, we do not enforce this. If the class name contains a
a /, we only use the part to the right of the rightmost slash.
In addition, we ignore any "class:" prefix.
Provides functions to test a function's existence and call a function.
Also provides functions to test an element's existence and call an
element.
<P>
<P>
<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>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.xalan.extensions.ExtensionHandlerJava"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.xalan.extensions.<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions">ExtensionHandlerJava</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html#m_className">m_className</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.xalan.extensions.ExtensionHandler"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from class org.apache.xalan.extensions.<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#m_namespaceUri">m_namespaceUri</A>, <A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#m_scriptLang">m_scriptLang</A></CODE></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/xalan/extensions/ExtensionHandlerJavaPackage.html#ExtensionHandlerJavaPackage(java.lang.String, java.lang.String, java.lang.String)">ExtensionHandlerJavaPackage</A></B>(java.lang.String&nbsp;namespaceUri,
java.lang.String&nbsp;scriptLang,
java.lang.String&nbsp;className)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Construct a new extension namespace handler given all the information
needed.</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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#callFunction(org.apache.xpath.functions.FuncExtFunction, java.util.Vector, org.apache.xalan.extensions.ExpressionContext)">callFunction</A></B>(<A HREF="../../../../org/apache/xpath/functions/FuncExtFunction.html" title="class in org.apache.xpath.functions">FuncExtFunction</A>&nbsp;extFunction,
java.util.Vector&nbsp;args,
<A HREF="../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;exprContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process a call to an XPath extension function</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#callFunction(java.lang.String, java.util.Vector, java.lang.Object, org.apache.xalan.extensions.ExpressionContext)">callFunction</A></B>(java.lang.String&nbsp;funcName,
java.util.Vector&nbsp;args,
java.lang.Object&nbsp;methodKey,
<A HREF="../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;exprContext)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process a call to a function in the package java namespace.</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/xalan/extensions/ExtensionHandlerJavaPackage.html#isElementAvailable(java.lang.String)">isElementAvailable</A></B>(java.lang.String&nbsp;element)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether a certain element name is known within this namespace.</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/xalan/extensions/ExtensionHandlerJavaPackage.html#isFunctionAvailable(java.lang.String)">isFunctionAvailable</A></B>(java.lang.String&nbsp;function)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tests whether a certain function name is known within this namespace.</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/xalan/extensions/ExtensionHandlerJavaPackage.html#processElement(java.lang.String, org.apache.xalan.templates.ElemTemplateElement, org.apache.xalan.transformer.TransformerImpl, org.apache.xalan.templates.Stylesheet, java.lang.Object)">processElement</A></B>(java.lang.String&nbsp;localPart,
<A HREF="../../../../org/apache/xalan/templates/ElemTemplateElement.html" title="class in org.apache.xalan.templates">ElemTemplateElement</A>&nbsp;element,
<A HREF="../../../../org/apache/xalan/transformer/TransformerImpl.html" title="class in org.apache.xalan.transformer">TransformerImpl</A>&nbsp;transformer,
<A HREF="../../../../org/apache/xalan/templates/Stylesheet.html" title="class in org.apache.xalan.templates">Stylesheet</A>&nbsp;stylesheetTree,
java.lang.Object&nbsp;methodKey)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Process a call to this extension namespace via an element.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.xalan.extensions.ExtensionHandlerJava"><!-- --></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.xalan.extensions.<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions">ExtensionHandlerJava</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html#getFromCache(java.lang.Object, java.lang.Object, java.lang.Object[])">getFromCache</A>, <A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJava.html#putToCache(java.lang.Object, java.lang.Object, java.lang.Object[], java.lang.Object)">putToCache</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.xalan.extensions.ExtensionHandler"><!-- --></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.xalan.extensions.<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#getClassForName(java.lang.String)">getClassForName</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>
<!-- ========= 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="ExtensionHandlerJavaPackage(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
ExtensionHandlerJavaPackage</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.75"><B>ExtensionHandlerJavaPackage</B></A>(java.lang.String&nbsp;namespaceUri,
java.lang.String&nbsp;scriptLang,
java.lang.String&nbsp;className)</PRE>
<DL>
<DD>Construct a new extension namespace handler given all the information
needed.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>namespaceUri</CODE> - the extension namespace URI that I'm implementing<DD><CODE>scriptLang</CODE> - language of code implementing the extension<DD><CODE>className</CODE> - the beginning of the class name of the class. This
should be followed by a dot (.)</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="isFunctionAvailable(java.lang.String)"><!-- --></A><H3>
isFunctionAvailable</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.95"><B>isFunctionAvailable</B></A>(java.lang.String&nbsp;function)</PRE>
<DL>
<DD>Tests whether a certain function name is known within this namespace.
Since this is for a package, we concatenate the package name used when
this handler was created and the function name specified in the argument.
There is
no information regarding the arguments to the function call or
whether the method implementing the function is a static method or
an instance method.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#isFunctionAvailable(java.lang.String)">isFunctionAvailable</A></CODE> in class <CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>function</CODE> - name of the function being tested
<DT><B>Returns:</B><DD>true if its known, false if not.</DL>
</DD>
</DL>
<HR>
<A NAME="isElementAvailable(java.lang.String)"><!-- --></A><H3>
isElementAvailable</H3>
<PRE>
public boolean <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.128"><B>isElementAvailable</B></A>(java.lang.String&nbsp;element)</PRE>
<DL>
<DD>Tests whether a certain element name is known within this namespace.
Looks for a method with the appropriate name and signature.
This method examines both static and instance methods.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#isElementAvailable(java.lang.String)">isElementAvailable</A></CODE> in class <CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>element</CODE> - name of the element being tested
<DT><B>Returns:</B><DD>true if its known, false if not.</DL>
</DD>
</DL>
<HR>
<A NAME="callFunction(java.lang.String, java.util.Vector, java.lang.Object, org.apache.xalan.extensions.ExpressionContext)"><!-- --></A><H3>
callFunction</H3>
<PRE>
public java.lang.Object <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.203"><B>callFunction</B></A>(java.lang.String&nbsp;funcName,
java.util.Vector&nbsp;args,
java.lang.Object&nbsp;methodKey,
<A HREF="../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;exprContext)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Process a call to a function in the package java namespace.
There are three possible types of calls:
<pre>
Constructor:
packagens:class.name.new(arg1, arg2, ...)
Static method:
packagens:class.name.method(arg1, arg2, ...)
Instance method:
packagens:method(obj, arg1, arg2, ...)
</pre>
We use the following rules to determine the type of call made:
<ol type="1">
<li>If the function name ends with a ".new", call the best constructor for
class whose name is formed by concatenating the value specified on
the namespace with the value specified in the function invocation
before ".new".</li>
<li>If the function name contains a period, call the best static method "method"
in the class whose name is formed by concatenating the value specified on
the namespace with the value specified in the function invocation.</li>
<li>Otherwise, call the best instance method "method"
in the class whose name is formed by concatenating the value specified on
the namespace with the value specified in the function invocation.
Note that a static method of the same
name will <i>not</i> be called in the current implementation. This
module does not verify that the obj argument is a member of the
package namespace.</li>
</ol>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#callFunction(java.lang.String, java.util.Vector, java.lang.Object, org.apache.xalan.extensions.ExpressionContext)">callFunction</A></CODE> in class <CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>funcName</CODE> - Function name.<DD><CODE>args</CODE> - The arguments of the function call.<DD><CODE>methodKey</CODE> - A key that uniquely identifies this class and method call.<DD><CODE>exprContext</CODE> - The context in which this expression is being executed.
<DT><B>Returns:</B><DD>the return value of the function evaluation.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE> - if parsing trouble</DL>
</DD>
</DL>
<HR>
<A NAME="callFunction(org.apache.xpath.functions.FuncExtFunction, java.util.Vector, org.apache.xalan.extensions.ExpressionContext)"><!-- --></A><H3>
callFunction</H3>
<PRE>
public java.lang.Object <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.435"><B>callFunction</B></A>(<A HREF="../../../../org/apache/xpath/functions/FuncExtFunction.html" title="class in org.apache.xpath.functions">FuncExtFunction</A>&nbsp;extFunction,
java.util.Vector&nbsp;args,
<A HREF="../../../../org/apache/xalan/extensions/ExpressionContext.html" title="interface in org.apache.xalan.extensions">ExpressionContext</A>&nbsp;exprContext)
throws javax.xml.transform.TransformerException</PRE>
<DL>
<DD>Process a call to an XPath extension function
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#callFunction(org.apache.xpath.functions.FuncExtFunction, java.util.Vector, org.apache.xalan.extensions.ExpressionContext)">callFunction</A></CODE> in class <CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>extFunction</CODE> - The XPath extension function<DD><CODE>args</CODE> - The arguments of the function call.<DD><CODE>exprContext</CODE> - The context in which this expression is being executed.
<DT><B>Returns:</B><DD>the return value of the function evaluation.
<DT><B>Throws:</B>
<DD><CODE>javax.xml.transform.TransformerException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="processElement(java.lang.String, org.apache.xalan.templates.ElemTemplateElement, org.apache.xalan.transformer.TransformerImpl, org.apache.xalan.templates.Stylesheet, java.lang.Object)"><!-- --></A><H3>
processElement</H3>
<PRE>
public void <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html#line.458"><B>processElement</B></A>(java.lang.String&nbsp;localPart,
<A HREF="../../../../org/apache/xalan/templates/ElemTemplateElement.html" title="class in org.apache.xalan.templates">ElemTemplateElement</A>&nbsp;element,
<A HREF="../../../../org/apache/xalan/transformer/TransformerImpl.html" title="class in org.apache.xalan.transformer">TransformerImpl</A>&nbsp;transformer,
<A HREF="../../../../org/apache/xalan/templates/Stylesheet.html" title="class in org.apache.xalan.templates">Stylesheet</A>&nbsp;stylesheetTree,
java.lang.Object&nbsp;methodKey)
throws javax.xml.transform.TransformerException,
java.io.IOException</PRE>
<DL>
<DD>Process a call to this extension namespace via an element. As a side
effect, the results are sent to the TransformerImpl's result tree.
For this namespace, only static element methods are currently supported.
If instance methods are needed, please let us know your requirements.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html#processElement(java.lang.String, org.apache.xalan.templates.ElemTemplateElement, org.apache.xalan.transformer.TransformerImpl, org.apache.xalan.templates.Stylesheet, java.lang.Object)">processElement</A></CODE> in class <CODE><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandler.html" title="class in org.apache.xalan.extensions">ExtensionHandler</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>localPart</CODE> - Element name's local part.<DD><CODE>element</CODE> - The extension element being processed.<DD><CODE>transformer</CODE> - Handle to TransformerImpl.<DD><CODE>stylesheetTree</CODE> - The compiled stylesheet tree.<DD><CODE>methodKey</CODE> - A key that uniquely identifies this element call.
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE> - if loading trouble
<DD><CODE>javax.xml.transform.TransformerException</CODE> - if parsing trouble</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/ExtensionHandlerJavaPackage.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/xalan/extensions/ExtensionHandlerJavaClass.html" title="class in org.apache.xalan.extensions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xalan/extensions/ExtensionNamespaceContext.html" title="class in org.apache.xalan.extensions"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html?org/apache/xalan/extensions/ExtensionHandlerJavaPackage.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtensionHandlerJavaPackage.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="#fields_inherited_from_class_org.apache.xalan.extensions.ExtensionHandlerJava">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;FIELD&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>