public class ReflectionUtils
extends java.lang.Object
| Constructor and Description |
|---|
ReflectionUtils() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.Object |
callGetter(java.lang.Object bean,
java.lang.String fieldName)
El método retorna el resultado de llamar el getter para cierto atributo "fieldName" para cierto objeto "bean",
permite atributos anidados.
|
static java.lang.String |
callGetterDynamic(java.lang.Object bean,
java.lang.String field,
java.util.List<java.lang.Integer> parameters)
El método retorna el resultado de llamar el getter de un objeto "bean" para cierto campo "field" y cuyo getter
acepta una lista de Strings "parameters" como argumento, permitiendo getters mas dinámicos.
|
static void |
callSetter(java.lang.Object bean,
java.lang.String fieldName,
java.lang.Object valor)
El método llama el setter para cierto atributo "fieldName" para cierto objeto "bean"
dado un valor a introducir "valor", permite atributos anidados.
|
static java.lang.String |
describe(java.lang.Object objeto)
Describe la clase y la instancia con el formato "nombreDePropiedad" tipo de dato: valor.
|
static java.lang.String |
describe(java.lang.Object object,
java.lang.Boolean withHash)
Describe la clase y la instancia con el formato "nombreDePropiedad" tipo de dato: valor.
|
static java.lang.String |
firstLetterToUppercase(java.lang.String value)
Retorna el String pasado con su primer caracter pasado a mayúscula, si el primer caracter no es una letra o ya
esta en mayúscula no hace nada.
|
static java.lang.Class<?> |
getClassForField(java.lang.Object bean,
java.lang.String fieldName)
Retorna la clase del atributo "fieldName" del objeto "bean", si no se encuentra el atributo se retorna la clase
Objeto.
|
static java.lang.String |
getCurrentMethodName()
Retorna el nombre del método en el que se ejecuta en un String.
|
static java.lang.reflect.Field |
getDeclaredField(java.lang.String fieldName,
java.lang.Class<?> clazz)
Busca
Field en la clase y todas sus subclases hasta Object. |
static java.lang.String[] |
getFieldList(java.lang.Class<?> clazz)
Retorna un array de Strings conteniendo todos los atributos de la clase "clazz" que tengan ambos un getter sin
argumentos y un setter solo con un argumento de tipo igual al atributo correspondiente.
|
static java.util.List<java.lang.String> |
getFieldsType(java.lang.Class<?> clazz,
java.lang.Class<?> elementType)
Retorna una lista de atributos lectura/escritura de la clase "clazz" de tipo "elementType" que no sean del tipo
collection.
|
static java.util.List<java.lang.String> |
getFieldsTypeCollection(java.lang.Object value,
java.lang.Class<?> elementType)
Retorna una lista de atributos lectura/escritura de la clase "clazz" de tipo "elementType" que sean del tipo
collection.
|
static java.lang.String |
getGetterMethod(java.lang.String fieldName)
Pasado un String que se supone que es un atributo de un objeto retorna le nombre del getter poniendo al comienzo
la palabra get y pasando a mayúscula la primera letra del String proveido.
|
static java.lang.reflect.Method |
getMethod(java.lang.Object bean,
java.lang.String name,
java.lang.Class<?>... params)
Se retornara el método de nombre "name" y parámetros "paramas" de la clase del objeto "bean" proveído.
|
static java.lang.reflect.Method |
getMethodQuiet(java.lang.Object object,
java.lang.String methodName,
java.lang.Class<?>... params)
Retorna el método pedido pero consume la excepción.
|
static java.beans.PropertyDescriptor[] |
getPropertyDescriptors(java.lang.Class<?> target)
Obtiene todos los PropertyDescriptor de la clase "target".
|
static java.util.List<java.lang.reflect.Method> |
getPublicMethods(java.lang.Class<?> clazz)
Retorna una lista con los métodos de la clase "clazz" que sean públicos.
|
static java.util.List<java.lang.String> |
getPublicMethodsName(java.lang.Class<?> clazz,
boolean withParameters)
Retorna una lista con los métodos de la clase "clazz" que sean públicos.
|
static java.lang.reflect.Method |
getReadMethod(java.lang.Class<?> clazz,
java.lang.String fieldName)
Retorna el Method del getter para el atributo de la clase "clazz" y de nombre "fieldName".
|
static java.lang.Object |
getValue(java.lang.String type,
java.lang.Object value)
Retorna un valor para el tipo de dato.
|
static java.lang.reflect.Method |
getWriteMethod(java.lang.Class<?> clazz,
java.lang.String fieldName)
Retorna el Method del setter para el atributo de la clase "clazz" y de nombre "fieldName".
|
static boolean |
hasNonEmptyValues(java.lang.Object object)
Verifica la lista de campos de un objeto, retorna False si ningún campo contiene "null" y si ningún String esta
vacío "" o solo contiene espacios " ", sino True.
|
static java.lang.Object |
invokeMethod(java.lang.reflect.Method metodo,
java.lang.Object bean,
java.lang.Object... parameters)
Invoca al método "metodo" del objeto "bean" con los parámetros "parameters" ("null" si no tiene parámetros).
|
static java.beans.PropertyDescriptor |
obtenerPropertyDescriptor(java.lang.Class<?> clazz,
java.lang.String fieldName)
Retornara el PropertyDescriptor del atributo "fieldName" de la clase "class".
|
static java.lang.Object |
read(java.lang.Object fuente,
java.lang.String fieldName)
Dado un objeto "fuente" se retorna el valor del atributo "fieldName" proveído por su getter.
|
static java.lang.Object |
read(java.beans.PropertyDescriptor property,
java.lang.Object object)
Dado un objeto "object" se retorna el valor del atributo proveído por su getter pasando el PropertyDescriptor
"property".
|
static java.util.Map<java.lang.Integer,java.lang.String> |
salidaComandoPorLinea(java.lang.String cmdline)
Ejecuta el String en la linea de comando en el directorio raiz del proyecto por defecto.
|
static void |
write(java.beans.PropertyDescriptor property,
java.lang.Object object,
java.lang.Object value)
Dado un objeto "object" se escribe el valor "value" en el atributo encontrado usando su PropertyDescriptor
"property".
|
public static java.lang.Object callGetter(java.lang.Object bean,
java.lang.String fieldName)
throws java.lang.IllegalStateException
bean - Objeto con un getter para el atributo "fieldName"fieldName - Nombre del atributo cuyo getter se quiere invocar, puede ser un atributo anidadojava.lang.IllegalStateExceptionpublic static java.lang.String callGetterDynamic(java.lang.Object bean,
java.lang.String field,
java.util.List<java.lang.Integer> parameters)
bean - Objeto con un getter con el nombre "field"field - Nombre del campo cuyo getter se quiere invocarparameters - Lista de Integers que es un argumento del getter a invocarpublic static void callSetter(java.lang.Object bean,
java.lang.String fieldName,
java.lang.Object valor)
bean - Objeto con un setter para el atributo "fieldName"fieldName - Nombre del atributo cuyo setter se quiere invocar, puede ser un atributo anidadovalor - Valor que se quiere introducir en el atributo "fieldName" del objeto "bean"java.lang.IllegalStateExceptionpublic static java.lang.String describe(java.lang.Object objeto)
objeto - Objeto instanciadopublic static java.lang.String describe(java.lang.Object object,
java.lang.Boolean withHash)
object - Objeto instanciadowithHash - True si se quiere que se muestre con el hashCode, sino Falsepublic static java.lang.String firstLetterToUppercase(java.lang.String value)
value - Stringpublic static java.lang.Class<?> getClassForField(java.lang.Object bean,
java.lang.String fieldName)
bean - ObjetofieldName - Atributo del objeto "bean"public static java.lang.String getCurrentMethodName()
public static java.lang.reflect.Field getDeclaredField(java.lang.String fieldName,
java.lang.Class<?> clazz)
Field en la clase y todas sus subclases hasta Object. Retorna null en caso
que el campo no sea encontrado.fieldName - Nombre del campo buscadoclazz - Tipo del objeto en donde buscarpublic static java.lang.String[] getFieldList(java.lang.Class<?> clazz)
throws java.lang.IllegalStateException
clazz - Clase de cual obtener la lista de atributosjava.lang.IllegalStateExceptionpublic static java.util.List<java.lang.String> getFieldsType(java.lang.Class<?> clazz,
java.lang.Class<?> elementType)
clazz - Clase a mirarelementType - Tipo de los atributos a retornar en la listapublic static java.util.List<java.lang.String> getFieldsTypeCollection(java.lang.Object value,
java.lang.Class<?> elementType)
value - Objeto a evaluarelementType - Tipo de los atributos a retornar en la listapublic static java.lang.String getGetterMethod(java.lang.String fieldName)
fieldName - Nombre de un atributo para obtener su getterpublic static java.lang.reflect.Method getMethod(java.lang.Object bean,
java.lang.String name,
java.lang.Class<?>... params)
bean - Objeto instanciadoname - Nombre del método buscadoparams - Parámetros de la clasepublic static java.lang.reflect.Method getMethodQuiet(java.lang.Object object,
java.lang.String methodName,
java.lang.Class<?>... params)
object - Objeto instanciadomethodName - Nombre del método buscadoparams - Parámetros de la clasepublic static java.util.List<java.lang.reflect.Method> getPublicMethods(java.lang.Class<?> clazz)
clazz - Clase de donde buscar los métodos públicospublic static java.util.List<java.lang.String> getPublicMethodsName(java.lang.Class<?> clazz,
boolean withParameters)
clazz - Clase de donde buscar los métodos públicoswithParameters - True para que se incluyan los tipos de los parametros, sino Falsepublic static java.lang.reflect.Method getReadMethod(java.lang.Class<?> clazz,
java.lang.String fieldName)
throws java.lang.IllegalStateException,
java.lang.NoSuchFieldException
clazz - ClasefieldName - Atributo de "clazz" de donde sacar el getterjava.lang.IllegalStateExceptionjava.lang.NoSuchFieldExceptionpublic static java.lang.Object getValue(java.lang.String type,
java.lang.Object value)
type - Nombre de la clase para instanciarvalue - Para el constructorpublic static java.lang.reflect.Method getWriteMethod(java.lang.Class<?> clazz,
java.lang.String fieldName)
throws java.lang.IllegalStateException,
java.lang.NoSuchFieldException
clazz - ClasefieldName - Atributo de "clazz" de donde sacar el setterjava.lang.IllegalStateExceptionjava.lang.NoSuchFieldExceptionpublic static java.lang.Object invokeMethod(java.lang.reflect.Method metodo,
java.lang.Object bean,
java.lang.Object... parameters)
metodo - Método que se quiere ejecutarbean - Objeto del cual ejecutar el métodoparameters - Parámetros del método ("null" si no tiene parámetros)public static java.beans.PropertyDescriptor obtenerPropertyDescriptor(java.lang.Class<?> clazz,
java.lang.String fieldName)
throws java.lang.IllegalStateException,
java.lang.NoSuchFieldException
clazz - Clase en cuestiónfieldName - Atributojava.lang.IllegalStateExceptionjava.lang.NoSuchFieldExceptionpublic static java.beans.PropertyDescriptor[] getPropertyDescriptors(java.lang.Class<?> target)
throws java.lang.IllegalStateException
target - Clase a analizarjava.lang.IllegalStateExceptionpublic static java.lang.Object read(java.lang.Object fuente,
java.lang.String fieldName)
throws java.lang.IllegalStateException
fuente - Objeto a mirarfieldName - Atributo del objeto a mirarjava.lang.IllegalStateExceptionpublic static java.lang.Object read(java.beans.PropertyDescriptor property,
java.lang.Object object)
throws java.lang.IllegalStateException
property - PropertyDescriptor del atributo a obtenerobject - Objeto a mirarjava.lang.IllegalStateExceptionpublic static java.util.Map<java.lang.Integer,java.lang.String> salidaComandoPorLinea(java.lang.String cmdline)
cmdline - Comando a ejecutarpublic static boolean hasNonEmptyValues(java.lang.Object object)
object - Objeto a verificarpublic static void write(java.beans.PropertyDescriptor property,
java.lang.Object object,
java.lang.Object value)
throws java.lang.IllegalStateException
property - PropertyDescriptor del atributo en donde escribirobject - Objeto a mirarvalue - Valor a escribirjava.lang.IllegalStateException