com.novell.xsl.extensions
Class JavaMethod

java.lang.Object
  extended bycom.novell.xml.xpath.Function
      extended bycom.novell.xsl.extensions.JavaMember
          extended bycom.novell.xsl.extensions.JavaMethod

public class JavaMethod
extends JavaMember

This class represents a java class member with a particular name. This class is only used during the parsing stage. The getInstance() member returns the actual JavaMethodInstance object that is used by the FunctionCall object.

See Also:
JavaMethodInstance

Field Summary
 
Fields inherited from class com.novell.xsl.extensions.JavaMember
classBoolean, classNumber, classString, interfaceExpressionValue, interfaceNode
 
Constructor Summary
JavaMethod(FunctionSignature signature, Method[] methods, Class methodClass)
          Construct a placeholder for the function library for the desired java class member(s).
 
Method Summary
 Function getInstance(ArgumentList args)
          Return an instance representing the member that matches the passed argument list.
protected  Method getMostDerivedMethod(Method method)
          Return the Method from the class corresponding to the class for this JavaMethod that is declared in the most-derived class in the hierarchy.
protected static boolean methodsEqual(Method m1, Method m2)
          Compare to Method objects for equality.
 
Methods inherited from class com.novell.xsl.extensions.JavaMember
weightParam
 
Methods inherited from class com.novell.xml.xpath.Function
getSignature, invoke, isConstant, registerForReset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaMethod

public JavaMethod(FunctionSignature signature,
                  Method[] methods,
                  Class methodClass)
Construct a placeholder for the function library for the desired java class member(s).

Parameters:
signature - The partial signature of the member (name only needed).
methods - The array of Method objects returned from class.getMethods().
methodClass - Class object from which this method is declared
Method Detail

getInstance

public Function getInstance(ArgumentList args)
                     throws XPathParserException
Return an instance representing the member that matches the passed argument list.

Overrides:
getInstance in class Function
Parameters:
args - The argument list
Throws:
XPathParserException

methodsEqual

protected static boolean methodsEqual(Method m1,
                                      Method m2)
Compare to Method objects for equality.

Parameters:
m1 - First method
m2 - Second method
Returns:
true if methods have same number and types of parameters.

getMostDerivedMethod

protected Method getMostDerivedMethod(Method method)
                               throws XPathParserException
Return the Method from the class corresponding to the class for this JavaMethod that is declared in the most-derived class in the hierarchy.

Parameters:
method - The method whose name and parameter list will be used for finding the most derived method.
Returns:
the most-derived method
Throws:
XPathParserException