ar.com.jiji.kaya.reflect
Class ReflectionService

java.lang.Object
  extended by ar.com.jiji.kaya.reflect.ReflectionService

public class ReflectionService
extends java.lang.Object

Version:
$Revision$ $Date$
Author:
lparra

Method Summary
static java.util.List<java.lang.String> getDaoAccessors(java.lang.Object obj)
          Dado un objeto devuelve los nombres de los metodos que devuelven algun objeto de tipo dao.
static java.util.List<java.lang.String> getFacadeAccessors(java.lang.Object obj)
          Dado un objeto devuelve los nombres de los properties que devuelven algun objeto de tipo facade.
static java.lang.reflect.Method[] getMethods(java.lang.String re, java.lang.Object obj)
           
static java.lang.reflect.Method[] getMethods(java.lang.String re, java.lang.Object obj, java.lang.Class returnType)
          Devuelve todos los metodos cuyo nombre matcheen con la expresion regular que se pasa de argumento.
static java.lang.Long getObjectId(java.lang.Object obj)
          Devuelve el id del objeto.
static java.lang.Object getProperty(java.lang.Object obj, java.lang.String property)
          Devuelve el valor de un property de un objeto.
static java.lang.String getPropertyAsString(java.lang.Object obj, java.lang.String property)
          Obtiene el valor de un property y lo convierte a String antes de devolverlo.
static java.lang.Object invoke(java.lang.String methodName, java.lang.Class[] argsClasses, java.lang.Object obj, java.lang.Object[] args)
           
static java.lang.Object invoke(java.lang.String methodName, java.lang.Class[] argsClasses, java.lang.Object obj, java.lang.Object[] args, java.lang.Class returningType)
           
static java.lang.Object invoke(java.lang.String methodName, java.lang.Class argClass, java.lang.Object obj, java.lang.Object arg)
           
static java.lang.Object invoke(java.lang.String methodName, java.lang.Class argClass, java.lang.Object obj, java.lang.Object arg, java.lang.Class returningType)
           
static java.lang.Object invoke(java.lang.String methodName, java.lang.Object obj)
           
static java.lang.Object newInstance(java.lang.Class clazz)
           
static java.lang.Object newInstance(java.lang.Class clazz, java.lang.Class[] argTypes, java.lang.Object[] args)
           
static java.lang.Object newInstance(java.lang.Class clazz, java.lang.Class argType, java.lang.Object arg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newInstance

public static java.lang.Object newInstance(java.lang.Class clazz)
                                    throws ReflectionException
Throws:
ReflectionException

newInstance

public static java.lang.Object newInstance(java.lang.Class clazz,
                                           java.lang.Class argType,
                                           java.lang.Object arg)
                                    throws ReflectionException
Throws:
ReflectionException

newInstance

public static java.lang.Object newInstance(java.lang.Class clazz,
                                           java.lang.Class[] argTypes,
                                           java.lang.Object[] args)
                                    throws ReflectionException
Throws:
ReflectionException

invoke

public static java.lang.Object invoke(java.lang.String methodName,
                                      java.lang.Object obj)
                               throws ReflectionException
Throws:
ReflectionException

invoke

public static java.lang.Object invoke(java.lang.String methodName,
                                      java.lang.Class argClass,
                                      java.lang.Object obj,
                                      java.lang.Object arg)
                               throws ReflectionException
Throws:
ReflectionException

invoke

public static java.lang.Object invoke(java.lang.String methodName,
                                      java.lang.Class[] argsClasses,
                                      java.lang.Object obj,
                                      java.lang.Object[] args)
                               throws ReflectionException
Throws:
ReflectionException

invoke

public static java.lang.Object invoke(java.lang.String methodName,
                                      java.lang.Class argClass,
                                      java.lang.Object obj,
                                      java.lang.Object arg,
                                      java.lang.Class returningType)
                               throws ReflectionException
Throws:
ReflectionException

invoke

public static java.lang.Object invoke(java.lang.String methodName,
                                      java.lang.Class[] argsClasses,
                                      java.lang.Object obj,
                                      java.lang.Object[] args,
                                      java.lang.Class returningType)
                               throws ReflectionException
Throws:
ReflectionException

getProperty

public static java.lang.Object getProperty(java.lang.Object obj,
                                           java.lang.String property)
Devuelve el valor de un property de un objeto.

Parameters:
obj - No puede ser null
property - No puede ser null
Returns:

getPropertyAsString

public static java.lang.String getPropertyAsString(java.lang.Object obj,
                                                   java.lang.String property)
Obtiene el valor de un property y lo convierte a String antes de devolverlo.

Parameters:
obj - No puede ser null
property - No puede ser null
Returns:
See Also:
getProperty(Object, String)

getObjectId

public static java.lang.Long getObjectId(java.lang.Object obj)
Devuelve el id del objeto. Supone que el objeto tiene una propiedad llamada id que es un numero entero (Short, Byte, Integer, Long). TODO: revisar con primitivos que pasa.

Parameters:
obj - No puede ser null
Returns:
See Also:
getProperty(Object, String)

getDaoAccessors

public static java.util.List<java.lang.String> getDaoAccessors(java.lang.Object obj)
Dado un objeto devuelve los nombres de los metodos que devuelven algun objeto de tipo dao. Se asume que los metodos que devuelven los dao siguen la convencion getXDao siendo X alguna cadena no vacia.

Parameters:
obj - El objeto a examinar, no puede ser null.
Returns:

getFacadeAccessors

public static java.util.List<java.lang.String> getFacadeAccessors(java.lang.Object obj)
Dado un objeto devuelve los nombres de los properties que devuelven algun objeto de tipo facade. Se asume que los metodos que devuelven los facade siguen la convencion getXFacade siendo X alguna cadena no vacia.

Parameters:
obj - El objeto a examinar, no puede ser null.
Returns:

getMethods

public static java.lang.reflect.Method[] getMethods(java.lang.String re,
                                                    java.lang.Object obj)
Parameters:
re -
obj -
Returns:
See Also:
#getMethods(String, Class, Class)

getMethods

public static java.lang.reflect.Method[] getMethods(java.lang.String re,
                                                    java.lang.Object obj,
                                                    java.lang.Class returnType)
Devuelve todos los metodos cuyo nombre matcheen con la expresion regular que se pasa de argumento.

Parameters:
re -
obj - El objeto a inspeccionar.
returnType - El tipo que devuelve, null si no se desea realizar chequeo sobre el tipo devuelto.
Returns:
Nunca es null.


Copyright © 2006 Kaya. All Rights Reserved.