org.filteredpush.rdf.reflection
Class DeconstructedObject

java.lang.Object
  extended by org.filteredpush.rdf.reflection.DeconstructedObject

public class DeconstructedObject
extends java.lang.Object

Represents a single instance of a deconstructed object (one which has been broken down into its java reflection fields and methods).

Author:
dlowery

Constructor Summary
DeconstructedObject(java.lang.Object instance, ClassMembers members)
          Constructor takes the object instance and the corresponding ClassMembers object.
 
Method Summary
 java.lang.Object accessField(java.lang.String name)
          Accesses the field given by the name argument.
 java.lang.Object getObject()
          Will return the original object represented by this class.
 java.lang.Object invokeMethod(java.lang.String name, java.lang.Object... param)
          Invokes the method given by the name argument with the parameters given as Objects and gives back its return value.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeconstructedObject

public DeconstructedObject(java.lang.Object instance,
                           ClassMembers members)
Constructor takes the object instance and the corresponding ClassMembers object.

Parameters:
instance -
members -
Method Detail

getObject

public java.lang.Object getObject()
Will return the original object represented by this class.

Returns:
instance

invokeMethod

public java.lang.Object invokeMethod(java.lang.String name,
                                     java.lang.Object... param)
                              throws java.lang.IllegalArgumentException,
                                     java.lang.IllegalAccessException,
                                     java.lang.reflect.InvocationTargetException,
                                     java.lang.Exception
Invokes the method given by the name argument with the parameters given as Objects and gives back its return value.

Parameters:
name -
param -
Returns:
object
Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.Exception

accessField

public java.lang.Object accessField(java.lang.String name)
                             throws java.lang.IllegalArgumentException,
                                    java.lang.IllegalAccessException,
                                    java.lang.reflect.InvocationTargetException,
                                    java.lang.Exception
Accesses the field given by the name argument. If it is private, will use the return value of the corresponding getter method.

Parameters:
name -
Returns:
object
Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.Exception