public class JavaSpy extends Object
Constructor and Description |
---|
JavaSpy() |
Modifier and Type | Method and Description |
---|---|
static Object |
executeMethod(Object object,
String methodName,
Class[] paramTypes,
Object[] paramValues)
Ruft eine Methode (auch private) auf dem angegebenen Objekt mit den angegebenen Paramtern auf.
|
static Object |
getFieldValue(Object object,
String fieldName)
Liefert ein (privates) Feld.
|
static String |
getFieldValueAsString(Object object,
String fieldName)
Liefert den Wert eines (privaten) Feldes als String.
|
static Object |
getStaticFieldvalue(Class c,
String fieldName) |
static void |
setFieldValue(Object object,
String fieldName,
Object value)
Setzt den Wert eines (privaten) Feldes.
|
static void |
setStaticFieldvalue(Class c,
String fieldName,
Object value) |
public static String getFieldValueAsString(Object object, String fieldName) throws Exception
JavaSpy.getFieldvalue(dti, "index");
ist gleichbedeutend mit ... dti.index ... ;
Die erste Varianten funktioniert aber auch mit privaten Feldern.object
- Das ObjektfieldName
- Der Name des FeldesException
- Bei Fehlernpublic static void setStaticFieldvalue(Class c, String fieldName, Object value) throws Exception
Exception
public static Object getStaticFieldvalue(Class c, String fieldName) throws Exception
Exception
public static Object getFieldValue(Object object, String fieldName) throws Exception
object
- Das ObjektfieldName
- Der Name des FeldesException
- Bei Fehlernpublic static void setFieldValue(Object object, String fieldName, Object value) throws Exception
JavaSpy.setFieldvalue(dti, "index", new Integer(123));
ist gleichbedeutend mit dti.index = 123;
Die erste Varianten funktioniert aber auch mit privaten Feldern.object
- Das ObjektfieldName
- Der Name des Feldesvalue
- Der zu setzende WertException
- Bei Fehlernpublic static Object executeMethod(Object object, String methodName, Class[] paramTypes, Object[] paramValues) throws Exception
JavaSpy.executeMethod(dti, "getAbsolutPosition", new
Class[] {int.class}, new Object[] {0} );
ist gleichbedeutend mit dti.getAbsolutPosition(0);
Die erste Variante funktioniert aber auch mit privaten Methoden.object
- Das ObjektmethodName
- Der Name der Methode, die aufgerufen werden soll, z.B. toString
paramTypes
- Die Signatur als Class-Array. Wenn die Signatur (long, int)
ist, muss hier new Class[] {long.class,
int.class}
stehenparamValues
- Die zu übergebenden Werte als Object ArrayException
- Bei Fehlern