org.apache.xalan.extensions
public class MethodResolver extends Object
Field Summary | |
---|---|
static int | DYNAMIC
Specifies a Dynamic method search. |
static int | INSTANCE_ONLY
Specifies a search for instance methods only. |
static int | STATIC_AND_INSTANCE
Specifies a search for both static and instance methods. |
static int | STATIC_ONLY
Specifies a search for static methods only. |
Method Summary | |
---|---|
static void | convertParams(Object[] argsIn, Object[][] argsOut, Class[] paramTypes, ExpressionContext exprContext)
Convert a set of parameters based on a set of paramTypes. |
static Constructor | getConstructor(Class classObj, Object[] argsIn, Object[][] argsOut, ExpressionContext exprContext)
Given a class, figure out the resolution of
the Java Constructor from the XSLT argument types, and perform the
conversion of the arguments. |
static Method | getElementMethod(Class classObj, String name)
Given the name of a method, figure out the resolution of
the Java Method |
static Method | getMethod(Class classObj, String name, Object[] argsIn, Object[][] argsOut, ExpressionContext exprContext, int searchMethod)
Given the name of a method, figure out the resolution of
the Java Method from the XSLT argument types, and perform the
conversion of the arguments. |
static int | scoreMatch(Class[] javaParamTypes, int javaParamsStart, Object[] xsltArgs, int score)
Score the conversion of a set of XSLT arguments to a
given set of Java parameters.
|
Parameters: argsIn An array of XSLT/XPath arguments. argsOut An array of the exact size as argsIn, which will be populated with converted arguments. paramTypes An array of class objects, of the exact same size as argsIn and argsOut.
Throws: TransformerException may be thrown for Xalan conversion exceptions.
Parameters: classObj the Class of the object to be constructed. argsIn An array of XSLT/XPath arguments. argsOut An array of the exact size as argsIn, which will be populated with converted arguments if a suitable method is found.
Returns: A constructor that will work with the argsOut array.
Throws: TransformerException may be thrown for Xalan conversion exceptions.
Parameters: classObj The Class of the object that should have the method. name The name of the method to be invoked.
Returns: A method that will work to be called as an element.
Throws: TransformerException may be thrown for Xalan conversion exceptions.
Parameters: classObj The Class of the object that should have the method. name The name of the method to be invoked. argsIn An array of XSLT/XPath arguments. argsOut An array of the exact size as argsIn, which will be populated with converted arguments if a suitable method is found.
Returns: A method that will work with the argsOut array.
Throws: TransformerException may be thrown for Xalan conversion exceptions.
Parameters: javaParamTypes Must be filled with valid class names, and of the same length as xsltArgs. xsltArgs Must be filled with valid object instances, and of the same length as javeParamTypes.
Returns: -1 for no allowed conversion, or a positive score that is closer to zero for more preferred, or further from zero for less preferred.