Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ejie.r01f.reflection
Class ReflectionUtils

    java.lang.Object
      com.ejie.r01f.reflection.ReflectionUtils

public class ReflectionUtils
extends java.lang.Object

Clase auxiliar para metodos de introspeccion

Nested Class Summary
`class` | `ReflectionUtils.Abuelo`
`class` | `ReflectionUtils.BaseClass`
`class` | `ReflectionUtils.Hijo`
`class` | `ReflectionUtils.MyClass`
`class` | `ReflectionUtils.Padre`

Constructor Summary
`ReflectionUtils()`

Method Summary
`static java.lang.String` | `composeClassMethodsSignatures(java.lang.Class classDef)` Imprime información de debug sobre los metodos de una clase
`static java.lang.String` | `composeMethodSignature(java.lang.reflect.Method m)` Compone la signatura de un metodo: clase.metodo(params..)
`static java.lang.String` | `composeMethodSignature(java.lang.String className, java.lang.String methodName, java.lang.Class[] paramTypes)` Compone la signatura de un metodo: clase.metodo(params..)
`static java.lang.reflect.Field[]` | `getAllFieldsArray(java.lang.Class objClassDef)` Obtiene un array con la DEFINICION de todos los miembros de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)
`static java.util.Map` | `getAllFieldsMap(java.lang.Class objClassDef)` Obtiene un mapa con la DEFINICION de todos los miembros de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)
`static java.lang.reflect.Method[]` | `getAllMethodsArray(java.lang.Class objClassDef)` Obtiene un array con la DEFINICION de todos los metodos de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getMethods() devuelve solo metodos PUBLICOS class.getDeclaredMethods() devuelve metodos publicos y privados declarados en la propia clase (ignora la herencia)
`static java.lang.String` | `getClassNameFromCompleteClassName(java.lang.String className)` Obtiene el nombre de la clase a partir del nombre completo incluyendo el paquete
`static java.lang.reflect.Field` | `getField(java.lang.Class objClassDef, java.lang.String fieldName)` Obtiene la DEFINICION de un miembro de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)
`static java.lang.String` | `getFieldGetterName(java.lang.Class objClassDef, java.lang.String memberName, java.lang.Class memberClassDef)` Obtiene el nombre del metodo getter de un miembro en una clase
`static java.lang.String` | `getFieldSetterName(java.lang.Class objClassDef, java.lang.String memberName, java.lang.Class memberClassDef)` Obtiene el nombre del metodo setter de un miembro en una clase
`static java.lang.Object` | `getMemberValue(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Obtiene el valor de un miembro en un objeto, bien accediendo directamente al miembro o bien utilizando un accessor (get[MemberName])
`static java.lang.Double` | `getMemberValueAsDouble(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Devuelve el valor de un miembro como un Double
`static java.lang.Float` | `getMemberValueAsFloat(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Devuelve el valor de un miembro como un float
`static java.lang.Long` | `getMemberValueAsLong(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Devuelve el valor de un miembro como un long
`static java.lang.Short` | `getMemberValueAsShort(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Devuelve el valor de un miembro como un short
`static java.lang.String` | `getMemberValueAsString(java.lang.Object obj, java.lang.String memberName, boolean useAccessor)` Devuelve el valor de un miembro como una cadena
`static java.lang.Object` | `getMemberValueUsingPath(java.lang.Object obj, java.lang.String memberPath, boolean useAccesors)` Funcion que se encarga de obtener un valor de una jerarquia de objetos El path al miembro se pasa como parametro en la variable memberPath que tiene la siguiente estructura: obj.member.member.member...
`static java.lang.reflect.Method` | `getMethod(java.lang.Class objClassDef, java.lang.String methodName, java.lang.Class[] paramTypes)` Busca el metodo que se pasa como parameto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getMethods() devuelve solo metodos PUBLICOS class.getDeclaredMethods() devuelve metodos publicos y privados declarados
`static java.lang.Class` | `getObjectClassDef(java.lang.String className)` Obtiene la definición de una clase (Class) a partir del nombre completo (incluido paquete) de la clase
`static java.lang.Object` | `getObjectInstance(java.lang.Class classDef)` Obtiene una instancia de un objeto utilizando el constructor vacio
`static java.lang.Object` | `getObjectInstance(java.lang.Class classDef, java.lang.Class[] constructorArgsClassDefs, java.lang.Object[] constructorArgs, boolean force)` Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase
`static java.lang.Object` | `getObjectInstance(java.lang.String className)` Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase.
`static java.lang.Object` | `getObjectInstance(java.lang.String className, java.lang.Class[] constructorArgsClassDefs, java.lang.Object[] constructorArgs, boolean force)` Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase
`static java.lang.String` | `getPackageFromCompletClassName(java.lang.String className)` Obtiene el nombre del paqueta a partir del nombre completo incluyendo el paquete
`static java.lang.Object` | `invokeMethod(java.lang.Object obj, java.lang.reflect.Method methodDef, java.lang.Object[] argValues)` Invoca un metodo sobre un objeto
`static java.lang.Object` | `invokeMethod(java.lang.Object obj, java.lang.String methodName, java.lang.Class[] argsTypes, java.lang.Object[] argsValues)` Invoca un metodo sobre un objeto
`static java.lang.Object` | `invokeStaticMethod(java.lang.Class classDef, java.lang.String methodName, java.lang.Class[] argsTypes, java.lang.Object[] argsValues)` Invoca un metodo ESTATICO sobre un objeto
`static boolean` | `isArray(java.lang.Class theClass)` Comprueba si una clase es un array
`static boolean` | `isFinalInmutable(java.lang.Class classDef)` Comprueba si un tipo es final inmutable: String, byte, short, integer, long, float, double, character o boolean
`static boolean` | `isList(java.lang.Class theClass)` Comprueba si una clase implementa el interfaz list
`static boolean` | `isMap(java.lang.Class theClass)` Comprueba si una clase implementa el interfaz map
`static boolean` | `isSameClassAs(java.lang.Class theClass, java.lang.Class theOtherClass)` Comprueba si una clase es igual que la otra
`static boolean` | `isSameClassAs(java.lang.Object theObj, java.lang.Object theOtherObj)` Comprueba si dos objetos son de la misma clase
`static boolean` | `isSubClassOf(java.lang.Class theClass, java.lang.Class theBaseClass)` Recorre la jerarquia de herencia para ver si una clase es subclase de otra que se pasa como parametro
`static boolean` | `isSubClassOf(java.lang.Object theObj, java.lang.Object theBaseObj)` Recorre la jerarquia de herencia para ver si un objeto es subclase de otro que se pasa como parametro
`static void` | `main(java.lang.String[] args)` Main para probar el temilla
`static void` | `setMemberValue(java.lang.Object obj, java.lang.String memberName, java.lang.Class memberClassDef, java.lang.Object value, boolean useAccessor)` Establece el valor de un miembro en un objeto bien accediendo directamente a la variable miembro bien utilizando un accessor set[MemberName]
`static void` | `setMemberValue(java.lang.Object obj, java.lang.String memberName, java.lang.Object value, boolean useAccessor)` Establece el valor de un miembro en un objeto bien accediendo directamente a la variable miembro bien utilizando un accessor set[MemberName]
`static void` | `setMemberValueAsDouble(java.lang.Object obj, java.lang.String memberName, java.lang.Double value, boolean useAccessor)` Establece el valor de un miembro como un double
`static void` | `setMemberValueAsFloat(java.lang.Object obj, java.lang.String memberName, java.lang.Float value, boolean useAccessor)` Establece el valor de un miembro como un Float
`static void` | `setMemberValueAsInteger(java.lang.Object obj, java.lang.String memberName, java.lang.Integer value, boolean useAccessor)` Establece el valor de un miembro como un entero
`static void` | `setMemberValueAsLong(java.lang.Object obj, java.lang.String memberName, java.lang.Long value, boolean useAccessor)` Establece el valor de un miembro como un long
`static void` | `setMemberValueAsShort(java.lang.Object obj, java.lang.String memberName, java.lang.Short value, boolean useAccessor)` Establece el valor de un miembro como un short
`static void` | `setMemberValueAsString(java.lang.Object obj, java.lang.String memberName, java.lang.String value, boolean useAccessor)` Establece el valor de un miembro como un String
`static void` | `setMemberValueUsingPath(java.lang.Object obj, java.lang.String memberPath, java.lang.Object memberValue, boolean useAccesors)` Funcion que se encarga de establecer el valor de un miembro en una jerarquía de objetos El path al miembro se pasa como parametro en la variable memberPath que tiene la siguiente estructura: obj.member.member.member...

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ReflectionUtils

    public ReflectionUtils()

Method Detail

### isFinalInmutable

    public static boolean isFinalInmutable(java.lang.Class classDef)

  Comprueba si un tipo es final inmutable: String, byte, short, integer, long, float, double, character o boolean

  Parameters:
    `classDef` - La definición de la clase
  Returns:
    true si el tipo es final inmutable

### getClassNameFromCompleteClassName

    public static java.lang.String getClassNameFromCompleteClassName(java.lang.String className)

  Obtiene el nombre de la clase a partir del nombre completo incluyendo el paquete

  Parameters:
    `className` - El nombre de la clase completo: paquete.nombreClase
  Returns:
    La parte del nombre de la clase

### getPackageFromCompletClassName

    public static java.lang.String getPackageFromCompletClassName(java.lang.String className)

  Obtiene el nombre del paqueta a partir del nombre completo incluyendo el paquete

  Parameters:
    `className` - nombre de la classe completo: paquete.nombreClase
  Returns:
    La parte del paquete

### getObjectClassDef

    public static java.lang.Class getObjectClassDef(java.lang.String className)
                                             throws java.lang.ClassNotFoundException

  Obtiene la definición de una clase (Class) a partir del nombre completo (incluido paquete) de la clase

  Parameters:
    `className` - El nombre completo de la clase
  Returns:
    La definicion de la clase (Class) (NO UNA INSTANCIA)
  Throws:
    `java.lang.ClassNotFoundException` - si la clase no se encuentra

### getObjectInstance

    public static java.lang.Object getObjectInstance(java.lang.String className,
                                                     java.lang.Class[] constructorArgsClassDefs,
                                                     java.lang.Object[] constructorArgs,
                                                     boolean force)
                                              throws ReflectionException

  Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase

  Parameters:
    `className` - El nombre de la clase (completo)
    `constructorArgsClassDefs` - definiciones de las clases parámetros del constructor
    `constructorArgs` - Argumentos del constructor
    `force` - Si hay que forzar la accesibilidad del constructor (pe si es privado)
  Returns:
    El objeto recién creado
  Throws:
    `ReflectionException` - si no se puede obtener una instancia del objeto

### getObjectInstance

    public static java.lang.Object getObjectInstance(java.lang.String className)
                                              throws ReflectionException

  Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase. Por defecto intenta hacer accesible el constructor...

  Parameters:
    `className` - El nombre de la clase (completo)
  Returns:
    la instancia del objeto
  Throws:
    `ReflectionException` - si no se puede obtener la instancia del objeto

### getObjectInstance

    public static java.lang.Object getObjectInstance(java.lang.Class classDef,
                                                     java.lang.Class[] constructorArgsClassDefs,
                                                     java.lang.Object[] constructorArgs,
                                                     boolean force)
                                              throws ReflectionException

  Obtiene una instancia de una clase a partir del nombre completo (incluido paquete) de la clase

  Parameters:
    `classDef` - la definicion de la clase
    `constructorArgsClassDefs` - definiciones de las clases parámetros del constructor
    `constructorArgs` - Argumentos del constructor
    `force` - Si hay que forzar la accesibilidad del constructor (pe si es privado)
  Returns:
    El objeto recién creado
  Throws:
    `ReflectionException` - si no se puede obtener la instancia del objeto

### getObjectInstance

    public static java.lang.Object getObjectInstance(java.lang.Class classDef)
                                              throws ReflectionException

  Obtiene una instancia de un objeto utilizando el constructor vacio

  Parameters:
    `classDef` - La definición del objeto
  Returns:
    la instancia recién creada
  Throws:
    `ReflectionException` - si el objeto no se puede crear

### isArray

    public static boolean isArray(java.lang.Class theClass)

  Comprueba si una clase es un array

  Parameters:
    `theClass` - La clase que se quiere comprobar si es un array
  Returns:
    true si es un array, false si no lo es

### isMap

    public static boolean isMap(java.lang.Class theClass)

  Comprueba si una clase implementa el interfaz map

  Parameters:
    `theClass` - La clase que se quiere comprobar si implementa el interfaz Map
  Returns:
    true si la clase es un mapa

### isList

    public static boolean isList(java.lang.Class theClass)

  Comprueba si una clase implementa el interfaz list

  Parameters:
    `theClass` - La clase que se quiere comprobar si implementa el interfaz List
  Returns:
    true si la clase es una lista

### isSubClassOf

    public static boolean isSubClassOf(java.lang.Class theClass,
                                       java.lang.Class theBaseClass)

  Recorre la jerarquia de herencia para ver si una clase es subclase de otra que se pasa como parametro

  Parameters:
    `theClass` - La clase
    `theBaseClass` - La clase base
  Returns:
    true si la clase es una subclase de la clase base

### isSubClassOf

    public static boolean isSubClassOf(java.lang.Object theObj,
                                       java.lang.Object theBaseObj)

  Recorre la jerarquia de herencia para ver si un objeto es subclase de otro que se pasa como parametro

  Parameters:
    `theObj` - un objeto
    `theBaseObj` - el objeto base
  Returns:
    true si el objeto es una subclase del objeto base

### isSameClassAs

    public static boolean isSameClassAs(java.lang.Class theClass,
                                        java.lang.Class theOtherClass)

  Comprueba si una clase es igual que la otra

  Parameters:
    `theClass` - la clase
    `theOtherClass` - la otra clase
  Returns:
    true si son la misma clase

### isSameClassAs

    public static boolean isSameClassAs(java.lang.Object theObj,
                                        java.lang.Object theOtherObj)

  Comprueba si dos objetos son de la misma clase

  Parameters:
    `theObj` - uno de los objetos
    `theOtherObj` - el otro objeto
  Returns:
    true si son la misma clase

### getAllMethodsArray

    public static java.lang.reflect.Method[] getAllMethodsArray(java.lang.Class objClassDef)

  Obtiene un array con la DEFINICION de todos los metodos de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getMethods() devuelve solo metodos PUBLICOS class.getDeclaredMethods() devuelve metodos publicos y privados declarados en la propia clase (ignora la herencia)

  Parameters:
    `objClassDef` - La definicion de la clase
  Returns:
    un array de objetos `Method` con la definicion de los metodos

### getMethod

    public static java.lang.reflect.Method getMethod(java.lang.Class objClassDef,
                                                     java.lang.String methodName,
                                                     java.lang.Class[] paramTypes)
                                              throws java.lang.NoSuchMethodException

  Busca el metodo que se pasa como parameto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getMethods() devuelve solo metodos PUBLICOS class.getDeclaredMethods() devuelve metodos publicos y privados declarados

  Parameters:
    `objClassDef` - La definicion de la clase
    `methodName` - El nombre del metodo
    `paramTypes` - Los tipos de los parametros
  Returns:
    El metodo buscado o null si no se encuentra
  Throws:
    `java.lang.NoSuchMethodException` - si no se encuentra el metodo

### invokeMethod

    public static java.lang.Object invokeMethod(java.lang.Object obj,
                                                java.lang.reflect.Method methodDef,
                                                java.lang.Object[] argValues)
                                         throws java.lang.Throwable,
                                                ReflectionException

  Invoca un metodo sobre un objeto

  Parameters:
    `obj` - El objeto sobre el que se invoca el metodo
    `methodDef` - definicion del metodo
    `argValues` - valores para los argumentos
  Returns:
    El objeto devuelto tras la invocacion del metdo
  Throws:
    `java.lang.Throwable` - si hay algun error al invocar el metodo
    `ReflectionException` - si ocurre algun error

### invokeMethod

    public static java.lang.Object invokeMethod(java.lang.Object obj,
                                                java.lang.String methodName,
                                                java.lang.Class[] argsTypes,
                                                java.lang.Object[] argsValues)
                                         throws java.lang.Throwable,
                                                ReflectionException

  Invoca un metodo sobre un objeto

  Parameters:
    `obj` - El objeto sobre el que se invoca el metodo
    `methodName` - nombre del metodo a invocar
    `argsTypes` - tipos de los argumentos a invocar
    `argsValues` - valores de los argumentos
  Returns:
    El objeto devuelto tras la invocacion del metodo
  Throws:
    `java.lang.Throwable` - si hay algun error al invocar el metodo
    `ReflectionException` - si ocurre algun error

### invokeStaticMethod

    public static java.lang.Object invokeStaticMethod(java.lang.Class classDef,
                                                      java.lang.String methodName,
                                                      java.lang.Class[] argsTypes,
                                                      java.lang.Object[] argsValues)
                                               throws java.lang.Throwable,
                                                      ReflectionException

  Invoca un metodo ESTATICO sobre un objeto

  Parameters:
    `classDef` - La definición de la clase que contiene el metodo estatico
    `methodName` - nombre del metodo a invocar
    `argsTypes` - tipos de los argumentos a invocar
    `argsValues` - valores de los argumentos
  Returns:
    El objeto devuelto tras la invocacion del metodo
  Throws:
    `java.lang.Throwable` - si hay algun error al invocar el metodo
    `ReflectionException` - si ocurre algun error

### composeMethodSignature

    public static java.lang.String composeMethodSignature(java.lang.String className,
                                                          java.lang.String methodName,
                                                          java.lang.Class[] paramTypes)

  Compone la signatura de un metodo: clase.metodo(params..)

  Parameters:
    `className` - El nombre de la clase
    `methodName` - El nombre del metodos
    `paramTypes` - La definicion de los tipos de los argumentos
  Returns:
    La signatura del metodo: clase.metodo(params)

### composeMethodSignature

    public static java.lang.String composeMethodSignature(java.lang.reflect.Method m)

  Compone la signatura de un metodo: clase.metodo(params..)

  Parameters:
    `m` - La definicion del metodo
  Returns:
    La signatura del metodo: clase.metodo(params...)

### composeClassMethodsSignatures

    public static java.lang.String composeClassMethodsSignatures(java.lang.Class classDef)

  Imprime información de debug sobre los metodos de una clase

  Parameters:
    `classDef` - La definicion de la clase
  Returns:
    una cadena con informacion de debug con la signatura de todos los metodos de la clase

### getAllFieldsMap

    public static java.util.Map getAllFieldsMap(java.lang.Class objClassDef)
                                         throws ReflectionException

  Obtiene un mapa con la DEFINICION de todos los miembros de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)

  Parameters:
    `objClassDef` - La definicion de la clase
  Returns:
    un mapa con objetos `Field` indexados por su nombre
  Throws:
    `ReflectionException` - si hay algún error al obtener el mapa de campos

### getAllFieldsArray

    public static java.lang.reflect.Field[] getAllFieldsArray(java.lang.Class objClassDef)
                                                       throws ReflectionException

  Obtiene un array con la DEFINICION de todos los miembros de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)

  Parameters:
    `objClassDef` - La definicion de la clase
  Returns:
    un array de objetos `Field`
  Throws:
    `ReflectionException` - si hay algún error al obtener el array de campos

### getField

    public static java.lang.reflect.Field getField(java.lang.Class objClassDef,
                                                   java.lang.String fieldName)
                                            throws java.lang.NoSuchFieldException

  Obtiene la DEFINICION de un miembro de un objeto, recorriendo toda la jerarquia de herencia PROBLEMA: class.getFields() devuelve solo miembros PUBLICOS class.getDeclaredFields() devuelve miembros publicos y privados declarados en la propia clase (ignora la herencia)

  Parameters:
    `objClassDef` - La definicion de la clase
    `fieldName` - nombre del campo
  Returns:
    el objeto `Field` que define el campo
  Throws:
    `java.lang.NoSuchFieldException` - si no se encuentra el miembro

### getFieldSetterName

    public static java.lang.String getFieldSetterName(java.lang.Class objClassDef,
                                                      java.lang.String memberName,
                                                      java.lang.Class memberClassDef)

  Obtiene el nombre del metodo setter de un miembro en una clase

  Parameters:
    `objClassDef` - la clase que contiene el miembro
    `memberName` - nombre del miembro
    `memberClassDef` - la clase del miembro
  Returns:
    el nombre del metodo setter

### getFieldGetterName

    public static java.lang.String getFieldGetterName(java.lang.Class objClassDef,
                                                      java.lang.String memberName,
                                                      java.lang.Class memberClassDef)

  Obtiene el nombre del metodo getter de un miembro en una clase

  Parameters:
    `objClassDef` - la clase que contiene el miembro
    `memberName` - nombre del miembro
    `memberClassDef` - la clase del miembro
  Returns:
    el nombre del metodo getter

### setMemberValue

    public static void setMemberValue(java.lang.Object obj,
                                      java.lang.String memberName,
                                      java.lang.Class memberClassDef,
                                      java.lang.Object value,
                                      boolean useAccessor)
                               throws ReflectionException

  Establece el valor de un miembro en un objeto bien accediendo directamente a la variable miembro bien utilizando un accessor set[MemberName]

  Parameters:
    `obj` - El objeto
    `memberName` - El nombre del miembro
    `value` - El valor del miembro
    `memberClassDef` - La clase del miembro
    `useAccessor` - Si hay que utilizar el metodo set[MemberName]
  Throws:
    `ReflectionException` - si se produce alguna excepción en el proceso

### setMemberValue

    public static void setMemberValue(java.lang.Object obj,
                                      java.lang.String memberName,
                                      java.lang.Object value,
                                      boolean useAccessor)
                               throws ReflectionException

  Establece el valor de un miembro en un objeto bien accediendo directamente a la variable miembro bien utilizando un accessor set[MemberName]

  Parameters:
    `obj` - El objeto
    `memberName` - El nombre del miembro
    `value` - El valor del miembro
    `useAccessor` - Si hay que utilizar el metodo set[MemberName]
  Throws:
    `ReflectionException` - si se produce alguna excepción en el proceso

### setMemberValueAsString

    public static void setMemberValueAsString(java.lang.Object obj,
                                              java.lang.String memberName,
                                              java.lang.String value,
                                              boolean useAccessor)
                                       throws ReflectionException

  Establece el valor de un miembro como un String

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### setMemberValueAsInteger

    public static void setMemberValueAsInteger(java.lang.Object obj,
                                               java.lang.String memberName,
                                               java.lang.Integer value,
                                               boolean useAccessor)
                                        throws ReflectionException

  Establece el valor de un miembro como un entero

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### setMemberValueAsLong

    public static void setMemberValueAsLong(java.lang.Object obj,
                                            java.lang.String memberName,
                                            java.lang.Long value,
                                            boolean useAccessor)
                                     throws ReflectionException

  Establece el valor de un miembro como un long

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### setMemberValueAsDouble

    public static void setMemberValueAsDouble(java.lang.Object obj,
                                              java.lang.String memberName,
                                              java.lang.Double value,
                                              boolean useAccessor)
                                       throws ReflectionException

  Establece el valor de un miembro como un double

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### setMemberValueAsShort

    public static void setMemberValueAsShort(java.lang.Object obj,
                                             java.lang.String memberName,
                                             java.lang.Short value,
                                             boolean useAccessor)
                                      throws ReflectionException

  Establece el valor de un miembro como un short

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### setMemberValueAsFloat

    public static void setMemberValueAsFloat(java.lang.Object obj,
                                             java.lang.String memberName,
                                             java.lang.Float value,
                                             boolean useAccessor)
                                      throws ReflectionException

  Establece el valor de un miembro como un Float

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `value` - el valor
    `useAccessor` - true si hay que utilizar un método get/set
  Throws:
    `ReflectionException` - si se produce alguna excepcion en el proceso

### getMemberValue

    public static java.lang.Object getMemberValue(java.lang.Object obj,
                                                  java.lang.String memberName,
                                                  boolean useAccessor)
                                           throws ReflectionException

  Obtiene el valor de un miembro en un objeto, bien accediendo directamente al miembro o bien utilizando un accessor (get[MemberName])

  Parameters:
    `obj` - El objeto
    `memberName` - El nombre del miembro
    `useAccessor` - Si hay que utilizar accessors
  Returns:
    El valor del miembro
  Throws:
    `ReflectionException` - si se produce alguna excepción en el proceso

### getMemberValueAsString

    public static java.lang.String getMemberValueAsString(java.lang.Object obj,
                                                          java.lang.String memberName,
                                                          boolean useAccessor)
                                                   throws ReflectionException

  Devuelve el valor de un miembro como una cadena

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `useAccessor` - true si hay que utilizar método get / set
  Returns:
    el valor del miembro
  Throws:
    `ReflectionException` - si hay un error en el proceso

### getMemberValueAsLong

    public static java.lang.Long getMemberValueAsLong(java.lang.Object obj,
                                                      java.lang.String memberName,
                                                      boolean useAccessor)
                                               throws ReflectionException

  Devuelve el valor de un miembro como un long

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `useAccessor` - true si hay que utilizar método get / set
  Returns:
    el valor del miembro
  Throws:
    `ReflectionException` - si hay un error en el proceso

### getMemberValueAsDouble

    public static java.lang.Double getMemberValueAsDouble(java.lang.Object obj,
                                                          java.lang.String memberName,
                                                          boolean useAccessor)
                                                   throws ReflectionException

  Devuelve el valor de un miembro como un Double

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `useAccessor` - true si hay que utilizar método get / set
  Returns:
    el valor del miembro
  Throws:
    `ReflectionException` - si hay un error en el proceso

### getMemberValueAsShort

    public static java.lang.Short getMemberValueAsShort(java.lang.Object obj,
                                                        java.lang.String memberName,
                                                        boolean useAccessor)
                                                 throws ReflectionException

  Devuelve el valor de un miembro como un short

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `useAccessor` - true si hay que utilizar método get / set
  Returns:
    el valor del miembro
  Throws:
    `ReflectionException` - si hay un error en el proceso

### getMemberValueAsFloat

    public static java.lang.Float getMemberValueAsFloat(java.lang.Object obj,
                                                        java.lang.String memberName,
                                                        boolean useAccessor)
                                                 throws ReflectionException

  Devuelve el valor de un miembro como un float

  Parameters:
    `obj` - el objeto
    `memberName` - el nombre del miembro
    `useAccessor` - true si hay que utilizar método get / set
  Returns:
    el valor del miembro
  Throws:
    `ReflectionException` - si hay un error en el proceso

### setMemberValueUsingPath

    public static void setMemberValueUsingPath(java.lang.Object obj,
                                               java.lang.String memberPath,
                                               java.lang.Object memberValue,
                                               boolean useAccesors)
                                        throws ReflectionException,
                                               java.lang.reflect.InvocationTargetException,
                                               java.lang.IllegalAccessException,
                                               java.lang.NoSuchMethodException,
                                               java.lang.NoSuchFieldException

  Funcion que se encarga de establecer el valor de un miembro en una jerarquía de objetos El path al miembro se pasa como parametro en la variable memberPath que tiene la siguiente estructura: obj.member.member.member... NOTAS: - Se comprueba si algún miembro de la cadena está creado o no, en cuyo caso se crea - NO se contemplan arrays o listas...

  Parameters:
    `obj` -
    `memberPath` -
    `memberValue` - el valor del miembro final del path
    `useAccesors` - si hay que utilizar métodos get/set
  Throws:
    `ReflectionException` - Si se da alguna excepcion al acceder al miembro
    `java.lang.reflect.InvocationTargetException`
    `java.lang.IllegalAccessException`
    `java.lang.NoSuchMethodException`
    `java.lang.NoSuchFieldException` - Si el miembro solicitado en el path no existe

### getMemberValueUsingPath

    public static java.lang.Object getMemberValueUsingPath(java.lang.Object obj,
                                                           java.lang.String memberPath,
                                                           boolean useAccesors)
                                                    throws ReflectionException

  Funcion que se encarga de obtener un valor de una jerarquia de objetos El path al miembro se pasa como parametro en la variable memberPath que tiene la siguiente estructura: obj.member.member.member... Casos especiales: - Si un miembro de la jerarquia es un array o lista, la nomenclatura es: obj.member.member[2].member.... (entre corchetes va el índice en el array o lista) - Si un miembro de la jerarquía es un mapa, la nomenclatura es: obj.member.member(oid).member...(entre corchetes va una CADENA con la clave en el mapa) (obviamente, se restringe a mapas indexados por strings)

  Parameters:
    `obj` - El objeto en el cual se ha de obtener el miembro
    `memberPath` - El path del miembro ej: member.innnerMember.member...
    `useAccesors` - si hay que utilizar métodos de acceso al usuario
  Returns:
    El objeto solicitado
  Throws:
    `ReflectionException:` - Si se da alguna excepcion al acceder al miembro; ArrayIndexOutOfBoundsException: Si un miembro del path es un array y el indice solicitado se sale de los límites IllegalAccessException: Si no se puede acceder a un miembro especificado en el path NoSuchFieldException: Si el miembro solicitado en el path no existe NumberFormatException: Si el formato para un índice en un array o lista no es valido
    `ReflectionException`

### main

    public static void main(java.lang.String[] args)

  Main para probar el temilla

  Parameters:
    `args` -

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD