.JavaFindMethodSignature
Find Java Methods and Fields
Description
Find public Java methods and fields for a class.
Usage
.JavaFindMethodSignature(javaClass, method, argClasses=character(0),
                         static=FALSE, stable=TRUE, mustFind=TRUE)
.JavaFindFieldSignature(javaClass, field, static=FALSE, mustFind=TRUE)
Arguments
| javaClass | a string specifying a full Java classname, such as
  "Ljava/lang/Math;".  This class can also be specified as
  "java/lang/Math" or "java.lang.Math". | 
| method | a string naming a method within the class. | 
| field | A string naming a field within the class. | 
| argClasses | a string vector giving the Java class names for the method arguments, | 
| static | A logical.  If TRUE, must produce a static method or field.  If
  FALSE, may produce either a static or non-static method or field. | 
| stable | A logical.  If TRUE, uses an algorithm that will always find
  the same method for a given javaClass and argClasses.
  If FALSE, uses an alternative algorithm that may find a better
  method with more argument classes closer to argClasses. | 
| mustFind | A logical.  If TRUE, and a Java method or field cannot be
  found, an error is generated. | 
 
Details
  .JavaFindMethodSignature is called by 
.JavaCall and
  
.JavaNew when the 
SIGNATURE argument is
  
NULL, to determine which method to call, by passing the Java
  classes of the specified arguments.
   .JavaFindFieldSignature is called by 
.JavaFieldGet and
  
.JavaFieldSet when the 
SIGNATURE argument is
  
NULL, to determine the field class.
 
Value
  
| .JavaFindMethodSignature | returns a vector of strings
    with length one greater than the length of argClasses.  This
    contains the Java class names for the found method's arguments,
    followed by the Java class of the return value.  If no method is
    found, and mustFind is FALSE, returns NULL. | 
  | .JavaFindFieldSignature | returns a string.  If no field
    is found, and mustFind is FALSE, returns NULL. | 
 
See Also
Examples
.JavaFindMethodSignature("java.lang.Math", "pow", c("D","D"))
## [1] "D" "D" "D"
.JavaFindFieldSignature("java.lang.Math", "PI")
## [1] "D"