licensed under GPL v2 or higher.
 
| Method Summary | 
| static boolean | classHasClass(java.lang.Class cl,
              java.lang.String name,
              boolean staticRequired)Checks if the specified class has the given inner class.
 | 
| static boolean | classHasField(java.lang.Class cl,
              java.lang.String name,
              boolean staticRequired)Checks if the specified class has the given field.
 | 
| static boolean | classHasMethod(java.lang.Class cl,
               java.lang.String name,
               boolean staticRequired)Checks if the specified class has the given method.
 | 
| static java.lang.Class | getClass(java.lang.Class cl,
         java.lang.String name,
         boolean staticRequired)Returns an inner class of the class with the given simple name
 | 
| static java.lang.Class[] | getClasses(java.lang.Object o)Returns the list of classes of the object
 | 
| static java.lang.String[] | getClassNames(java.lang.Object o)Returns the list of class names of the object
 | 
| static java.lang.String | getCompletionName(java.lang.reflect.Member m)Completion name of a member.
 | 
| static java.lang.reflect.Constructor | getConstructor(java.lang.Class o_clazz,
               java.lang.Class[] arg_clazz,
               boolean[] arg_is_null)Attempts to find the best-matching constructor of the class
 o_clazz with the parameter types arg_clazz
 | 
| static java.lang.String[] | getFieldNames(java.lang.Class cl,
              boolean staticRequired)Returns the names of the fields of a given class
 | 
| static java.lang.String | getFieldTypeName(java.lang.Class cl,
                 java.lang.String field)
 | 
| static java.lang.reflect.Method | getMethod(java.lang.Class o_clazz,
          java.lang.String name,
          java.lang.Class[] arg_clazz,
          boolean[] arg_is_null)Attempts to find the best-matching method of the class
 o_clazzwith the method namenameand arguments types defined byarg_clazz. | 
| static java.lang.String[] | getMethodNames(java.lang.Class cl,
               boolean staticRequired)Returns the completion names of the methods of a given class.
 | 
| static java.lang.String[] | getSimpleClassNames(java.lang.Object o,
                    boolean addConditionClasses)Returns the list of simple class names of the object
 | 
| static java.lang.Class[] | getStaticClasses(java.lang.Class cl)Returns the static inner classes of the class
 | 
| static java.lang.reflect.Field[] | getStaticFields(java.lang.Class cl)Returns the static fields of the class
 | 
| static java.lang.reflect.Method[] | getStaticMethods(java.lang.Class cl)Returns the static methods of the class
 | 
| static boolean | hasClass(java.lang.Object o,
         java.lang.String name)Checks if the class of the object has the given inner class.
 | 
| static boolean | hasField(java.lang.Object o,
         java.lang.String name)Checks if the class of the object has the given field.
 | 
| static boolean | hasMethod(java.lang.Object o,
          java.lang.String name)Checks if the class of the object has the given method.
 | 
| static java.lang.Object | invokeMethod(java.lang.Class o_clazz,
             java.lang.Object o,
             java.lang.String name,
             java.lang.Object[] args,
             java.lang.Class[] clazzes)Invoke a method of a given class
 First the appropriate method is resolved by getMethod and
 then invokes the method
 | 
| static boolean | isStatic(java.lang.Class clazz)Indicates if a class is static
 | 
| static boolean | isStatic(java.lang.reflect.Member member)Indicates if a member of a Class (field, method ) is static
 | 
| static java.lang.Object | newInstance(java.lang.Class o_clazz,
            java.lang.Object[] args,
            java.lang.Class[] clazzes)Object creator.
 | 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
RJavaTools
public RJavaTools()
getClass
public static java.lang.Class getClass(java.lang.Class cl,
                                       java.lang.String name,
                                       boolean staticRequired)
- Returns an inner class of the class with the given simple name
 
- 
- Parameters:
- cl- class
- name- simple name of the inner class
- staticRequired- boolean, if- truethe inner class is required to be static
 
getStaticClasses
public static java.lang.Class[] getStaticClasses(java.lang.Class cl)
- Returns the static inner classes of the class
 
- 
- Parameters:
- cl- class
- Returns:
- an array of classes or null if cl does not have static inner classes
 
isStatic
public static boolean isStatic(java.lang.Class clazz)
- Indicates if a class is static
 
- 
- Parameters:
- clazz- class
- Returns:
- true if the class is static
 
getStaticFields
public static java.lang.reflect.Field[] getStaticFields(java.lang.Class cl)
- Returns the static fields of the class
 
- 
- Parameters:
- cl- class
- Returns:
- an array of static fields
 
getStaticMethods
public static java.lang.reflect.Method[] getStaticMethods(java.lang.Class cl)
- Returns the static methods of the class
 
- 
- Parameters:
- cl- class
- Returns:
- an array of static fields
 
getFieldNames
public static java.lang.String[] getFieldNames(java.lang.Class cl,
                                               boolean staticRequired)
- Returns the names of the fields of a given class
 
- 
- Parameters:
- cl- class
- staticRequired- if true only static fields are returned
- Returns:
- the public (and maybe only static) names of the fields.
 
getMethodNames
public static java.lang.String[] getMethodNames(java.lang.Class cl,
                                                boolean staticRequired)
- Returns the completion names of the methods of a given class. 
 See the getMethodCompletionName method below
 
- 
- Parameters:
- cl- class
- staticRequired- if true only static methods are returned
- Returns:
- the public (and maybe only static) names of the methods.
 
getCompletionName
public static java.lang.String getCompletionName(java.lang.reflect.Member m)
- Completion name of a member. 
 
 For fields, it just returns the name of the fields
  For methods, this returns the name of the method
 plus a suffix that depends on the number of arguments of the method.
 
  The string "()" is added 
 if the method has no arguments, and the string "(" is added
 if the method has one or more arguments.
 
 
- 
 
isStatic
public static boolean isStatic(java.lang.reflect.Member member)
- Indicates if a member of a Class (field, method ) is static
 
- 
- Parameters:
- member- class member
- Returns:
- true if the member is static
 
hasField
public static boolean hasField(java.lang.Object o,
                               java.lang.String name)
- Checks if the class of the object has the given field. The 
 getFields method of Class is used so only public fields are 
 checked
 
- 
- Parameters:
- o- object
- name- name of the field
- Returns:
- trueif the class of- ohas the field- name
 
hasClass
public static boolean hasClass(java.lang.Object o,
                               java.lang.String name)
- Checks if the class of the object has the given inner class. The 
 getClasses method of Class is used so only public classes are 
 checked
 
- 
- Parameters:
- o- object
- name- (simple) name of the inner class
- Returns:
- trueif the class of- ohas the class- name
 
classHasField
public static boolean classHasField(java.lang.Class cl,
                                    java.lang.String name,
                                    boolean staticRequired)
- Checks if the specified class has the given field. The 
 getFields method of Class is used so only public fields are 
 checked
 
- 
- Parameters:
- cl- class object
- name- name of the field
- staticRequired- if- truethen the field is required to be static
- Returns:
- trueif the class- clhas the field- name
 
classHasMethod
public static boolean classHasMethod(java.lang.Class cl,
                                     java.lang.String name,
                                     boolean staticRequired)
- Checks if the specified class has the given method. The 
 getMethods method of Class is used so only public methods are 
 checked
 
- 
- Parameters:
- cl- class
- name- name of the method
- staticRequired- if- truethen the method is required to be static
- Returns:
- trueif the class- clhas the method- name
 
classHasClass
public static boolean classHasClass(java.lang.Class cl,
                                    java.lang.String name,
                                    boolean staticRequired)
- Checks if the specified class has the given inner class. The 
 getClasses method of Class is used so only public classes are 
 checked
 
- 
- Parameters:
- cl- class
- name- name of the inner class
- staticRequired- if- truethen the method is required to be static
- Returns:
- trueif the class- clhas the field- name
 
hasMethod
public static boolean hasMethod(java.lang.Object o,
                                java.lang.String name)
- Checks if the class of the object has the given method. The 
 getMethods method of Class is used so only public methods are 
 checked
 
- 
- Parameters:
- o- object
- name- name of the method
- Returns:
- trueif the class of- ohas the field- name
 
newInstance
public static java.lang.Object newInstance(java.lang.Class o_clazz,
                                           java.lang.Object[] args,
                                           java.lang.Class[] clazzes)
                                    throws java.lang.Throwable
- Object creator. Find the best constructor based on the parameter classes
 and invoke newInstance on the resolved constructor
 
- 
- Throws:
- java.lang.Throwable
 
invokeMethod
public static java.lang.Object invokeMethod(java.lang.Class o_clazz,
                                            java.lang.Object o,
                                            java.lang.String name,
                                            java.lang.Object[] args,
                                            java.lang.Class[] clazzes)
                                     throws java.lang.Throwable
- Invoke a method of a given class
 First the appropriate method is resolved by getMethod and
 then invokes the method
 
 
- 
- Throws:
- java.lang.Throwable
 
getConstructor
public static java.lang.reflect.Constructor getConstructor(java.lang.Class o_clazz,
                                                           java.lang.Class[] arg_clazz,
                                                           boolean[] arg_is_null)
                                                    throws java.lang.SecurityException,
                                                           java.lang.NoSuchMethodException
- Attempts to find the best-matching constructor of the class
 o_clazz with the parameter types arg_clazz
 
- 
- Parameters:
- o_clazz- Class to look for a constructor
- arg_clazz- parameter types
- arg_is_null- indicates if each argument is null
- Returns:
- nullif no constructor is found, or the constructor
- Throws:
- java.lang.SecurityException
- java.lang.NoSuchMethodException
 
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Class o_clazz,
                                                 java.lang.String name,
                                                 java.lang.Class[] arg_clazz,
                                                 boolean[] arg_is_null)
                                          throws java.lang.SecurityException,
                                                 java.lang.NoSuchMethodException
- Attempts to find the best-matching method of the class o_clazzwith the method namenameand arguments types defined byarg_clazz.
 The lookup is performed by finding the most specific methods that matches the supplied arguments (see alsoisMoreSpecific(java.lang.reflect.Method, java.lang.reflect.Method)).
 
- 
- Parameters:
- o_clazz- class in which to look for the method
- name- method name
- arg_clazz- an array of classes defining the types of arguments
- arg_is_null- indicates if each argument is null
- Returns:
- nullif no matching method could be found or the best matching method.
- Throws:
- java.lang.SecurityException
- java.lang.NoSuchMethodException
 
getClasses
public static java.lang.Class[] getClasses(java.lang.Object o)
- Returns the list of classes of the object
 
- 
- Parameters:
- o- an Object
 
getClassNames
public static java.lang.String[] getClassNames(java.lang.Object o)
- Returns the list of class names of the object
 
- 
- Parameters:
- o- an Object
 
getSimpleClassNames
public static java.lang.String[] getSimpleClassNames(java.lang.Object o,
                                                     boolean addConditionClasses)
- Returns the list of simple class names of the object
 
- 
- Parameters:
- o- an Object
 
getFieldTypeName
public static java.lang.String getFieldTypeName(java.lang.Class cl,
                                                java.lang.String field)
- 
- Parameters:
- cl- class
- field- name of the field
- Returns:
- the class name of the field of the class (or null) 
 if the class does not have the given field)