Package de.bsvrz.sys.funclib.losb.util
Class JavaSpy
- java.lang.Object
-
- de.bsvrz.sys.funclib.losb.util.JavaSpy
-
public final class JavaSpy extends java.lang.ObjectDiese statische Klasse erlaubt es, auf private Felder zuzugreifen und private Methoden aufzurufen.
-
-
Constructor Summary
Constructors Constructor Description JavaSpy()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.ObjectexecuteMethod(java.lang.Object object, java.lang.String methodName, java.lang.Class[] paramTypes, java.lang.Object[] paramValues)Ruft eine Methode (auch private) auf dem angegebenen Objekt mit den angegebenen Paramtern auf.static java.lang.ObjectgetFieldValue(java.lang.Object object, java.lang.String fieldName)Liefert ein (privates) Feld.static java.lang.StringgetFieldValueAsString(java.lang.Object object, java.lang.String fieldName)Liefert den Wert eines (privaten) Feldes als String.static java.lang.ObjectgetStaticFieldvalue(java.lang.Class c, java.lang.String fieldName)static voidsetFieldValue(java.lang.Object object, java.lang.String fieldName, java.lang.Object value)Setzt den Wert eines (privaten) Feldes.static voidsetStaticFieldvalue(java.lang.Class c, java.lang.String fieldName, java.lang.Object value)
-
-
-
Method Detail
-
getFieldValueAsString
public static java.lang.String getFieldValueAsString(java.lang.Object object, java.lang.String fieldName) throws java.lang.ExceptionLiefert den Wert eines (privaten) Feldes als String.JavaSpy.getFieldvalue(dti, "index");ist gleichbedeutend mit... dti.index ... ;Die erste Varianten funktioniert aber auch mit privaten Feldern.
- Parameters:
object- Das ObjektfieldName- Der Name des Feldes- Returns:
- Der Wert des Feldes des angegebenen Objekts als String
- Throws:
java.lang.Exception- Bei Fehlern
-
setStaticFieldvalue
public static void setStaticFieldvalue(java.lang.Class c, java.lang.String fieldName, java.lang.Object value) throws java.lang.Exception- Throws:
java.lang.Exception
-
getStaticFieldvalue
public static java.lang.Object getStaticFieldvalue(java.lang.Class c, java.lang.String fieldName) throws java.lang.Exception- Throws:
java.lang.Exception
-
getFieldValue
public static java.lang.Object getFieldValue(java.lang.Object object, java.lang.String fieldName) throws java.lang.ExceptionLiefert ein (privates) Feld.- Parameters:
object- Das ObjektfieldName- Der Name des Feldes- Returns:
- Der Wert des Feldes des angegebenen Objekts
- Throws:
java.lang.Exception- Bei Fehlern
-
setFieldValue
public static void setFieldValue(java.lang.Object object, java.lang.String fieldName, java.lang.Object value) throws java.lang.ExceptionSetzt den Wert eines (privaten) Feldes.JavaSpy.setFieldvalue(dti, "index", new Integer(123));ist gleichbedeutend mitdti.index = 123;Die erste Varianten funktioniert aber auch mit privaten Feldern.
- Parameters:
object- Das ObjektfieldName- Der Name des Feldesvalue- Der zu setzende Wert- Throws:
java.lang.Exception- Bei Fehlern
-
executeMethod
public static java.lang.Object executeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Class[] paramTypes, java.lang.Object[] paramValues) throws java.lang.ExceptionRuft eine Methode (auch private) auf dem angegebenen Objekt mit den angegebenen Paramtern auf.JavaSpy.executeMethod(dti, "getAbsolutPosition", new Class[] {int.class}, new Object[] {0} );ist gleichbedeutend mitdti.getAbsolutPosition(0);Die erste Variante funktioniert aber auch mit privaten Methoden.
- Parameters:
object- Das ObjektmethodName- Der Name der Methode, die aufgerufen werden soll, z.B.toStringparamTypes- Die Signatur als Class-Array. Wenn die Signatur(long, int)ist, muss hiernew Class[] {long.class, int.class}stehenparamValues- Die zu übergebenden Werte als Object Array- Returns:
- Der Returnwert der Methode als Object
- Throws:
java.lang.Exception- Bei Fehlern
-
-