blob: a97a15da7a0b0e06ff613f4b38ac22221796dac5 [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>
ExtensionHandlerJavaClass
</TITLE>
<META NAME="keywords" CONTENT="org.apache.xalan.extensions.ExtensionHandlerJavaClass class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="ExtensionHandlerJavaClass";
}
</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/ExtensionHandlerJavaClass.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/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaPackage.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/ExtensionHandlerJavaClass.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtensionHandlerJavaClass.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.xalan.extensions</FONT>
<BR>
Class ExtensionHandlerJavaClass</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.ExtensionHandlerJavaClass</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#line.57"><B>ExtensionHandlerJavaClass</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 classes.
It is recommended that the class URI be of the form:
<pre>
xalan://fully.qualified.class.name
</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>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#m_classObj">m_classObj</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#m_defaultInstance">m_defaultInstance</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides a default Instance for use by elements that need to call
an instance method.</TD>
</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/ExtensionHandlerJavaClass.html#ExtensionHandlerJavaClass(java.lang.String, java.lang.String, java.lang.String)">ExtensionHandlerJavaClass</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/ExtensionHandlerJavaClass.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/ExtensionHandlerJavaClass.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 java class represented by
this <code>ExtensionHandlerJavaClass<code>.</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/ExtensionHandlerJavaClass.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/ExtensionHandlerJavaClass.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/ExtensionHandlerJavaClass.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>
<!-- ============ 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="m_classObj"><!-- --></A><H3>
m_classObj</H3>
<PRE>
private java.lang.Class <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#line.60"><B>m_classObj</B></A></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<A NAME="m_defaultInstance"><!-- --></A><H3>
m_defaultInstance</H3>
<PRE>
private java.lang.Object <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#line.67"><B>m_defaultInstance</B></A></PRE>
<DL>
<DD>Provides a default Instance for use by elements that need to call
an instance method.
<P>
<DL>
</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="ExtensionHandlerJavaClass(java.lang.String, java.lang.String, java.lang.String)"><!-- --></A><H3>
ExtensionHandlerJavaClass</H3>
<PRE>
public <A HREF="../../../../src-html/org/apache/xalan/extensions/ExtensionHandlerJavaClass.html#line.77"><B>ExtensionHandlerJavaClass</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 fully qualified class name of the class</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/ExtensionHandlerJavaClass.html#line.103"><B>isFunctionAvailable</B></A>(java.lang.String&nbsp;function)</PRE>
<DL>
<DD>Tests whether a certain function name is known within this namespace.
Simply looks for a method with the appropriate name. 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/ExtensionHandlerJavaClass.html#line.124"><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/ExtensionHandlerJavaClass.html#line.183"><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 java class represented by
this <code>ExtensionHandlerJavaClass<code>.
There are three possible types of calls:
<pre>
Constructor:
classns:new(arg1, arg2, ...)
Static method:
classns:method(arg1, arg2, ...)
Instance method:
classns: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 is "new", call the best constructor for
class represented by the namespace URI</li>
<li>If the first argument to the function is of the class specified
in the namespace or is a subclass of that class, look for the best
method of the class specified in the namespace with the specified
arguments. Compare all static and instance methods with the correct
method name. For static methods, use all arguments in the compare.
For instance methods, use all arguments after the first.</li>
<li>Otherwise, select the best static or instance method matching
all of the arguments. If the best method is an instance method,
call the function using a default object, creating it if needed.</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></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/ExtensionHandlerJavaClass.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/ExtensionHandlerJavaClass.html#line.460"><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.
We invoke the static or instance method in the class represented by
by the namespace URI. If we don't already have an instance of this class,
we create one upon the first call.
<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/ExtensionHandlerJavaClass.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/ExtensionHandlerJava.html" title="class in org.apache.xalan.extensions"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/xalan/extensions/ExtensionHandlerJavaPackage.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/ExtensionHandlerJavaClass.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="ExtensionHandlerJavaClass.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>