de.bsvrz.sys.funclib.losb.util
Class JavaSpy

java.lang.Object
  extended by de.bsvrz.sys.funclib.losb.util.JavaSpy

public class JavaSpy
extends java.lang.Object

Diese statische Klasse erlaubt es, auf private Felder zuzugreifen und private Methoden aufzurufen.

Version:
$Revision: 1.1 $ / $Date: 2008/01/22 16:55:51 $ / ($Author: yvonnes $)
Author:
beck et al. projects GmbH, Phil Schrettenbrunner

Constructor Summary
JavaSpy()
           
 
Method Summary
static java.lang.Object executeMethod(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.Object getFieldValue(java.lang.Object object, java.lang.String fieldName)
          Liefert ein (privates) Feld.
static java.lang.String getFieldValueAsString(java.lang.Object object, java.lang.String fieldName)
          Liefert den Wert eines (privaten) Feldes als String.
static java.lang.Object getStaticFieldvalue(java.lang.Class c, java.lang.String fieldName)
           
static void setFieldValue(java.lang.Object object, java.lang.String fieldName, java.lang.Object value)
          Setzt den Wert eines (privaten) Feldes.
static void setStaticFieldvalue(java.lang.Class c, java.lang.String fieldName, java.lang.Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaSpy

public JavaSpy()
Method Detail

getFieldValueAsString

public static java.lang.String getFieldValueAsString(java.lang.Object object,
                                                     java.lang.String fieldName)
                                              throws java.lang.Exception
Liefert 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 Objekt
fieldName - 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.Exception
Liefert ein (privates) Feld.

Parameters:
object - Das Objekt
fieldName - 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.Exception
Setzt den Wert eines (privaten) Feldes. JavaSpy.setFieldvalue(dti, "index", new Integer(123)); ist gleichbedeutend mit dti.index = 123; Die erste Varianten funktioniert aber auch mit privaten Feldern.

Parameters:
object - Das Objekt
fieldName - Der Name des Feldes
value - 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.Exception
Ruft 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 mit dti.getAbsolutPosition(0); Die erste Variante funktioniert aber auch mit privaten Methoden.

Parameters:
object - Das Objekt
methodName - 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} stehen
paramValues - Die zu übergebenden Werte als Object Array
Returns:
Der Returnwert der Methode als Object
Throws:
java.lang.Exception - Bei Fehlern


Copyright © 2005-2008 beck et al. projects GmbH All Rights Reserved.