abk.util
Class Classes

java.lang.Object
  extended by abk.util.Classes

public final class Classes
extends Object

Métodos de utilidad para trabajar con clases.


Constructor Summary
private Classes()
           
 
Method Summary
static BeanInfo getBeanInfo(Class<?> clazz)
          Devuelve la información de un bean conforme la especificación Java Bean.
static
<T> Constructor<T>
getConstructor(Class<T> type, String className, Class<?>... classes)
           
static Field getField(Class<?> clazz, String name)
          Devuelve la información relativa a un campo de la clase.
static Object getProperty(Class<?> clazz, Object bean, String name)
           
static PropertyDescriptor getPropertyDescriptor(Class<?> clazz, String name)
           
static Class<? extends Serializable> getSerializableType(Class<?> itemClass)
          Infiere el tipo de dato indicado para T en una clase que implemente Serializable.
static Class<?> getTypeArgument(Class<?> itemClass, int n)
          Devuelve la clase del tipo correspondiente a la n-posición de la lista de argumentos de un tipo de dato genérico, del cual es descendiente directo la clase itemClass que se le indica.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Classes

private Classes()
Method Detail

getTypeArgument

public static Class<?> getTypeArgument(Class<?> itemClass,
                                       int n)
Devuelve la clase del tipo correspondiente a la n-posición de la lista de argumentos de un tipo de dato genérico, del cual es descendiente directo la clase itemClass que se le indica.

Parameters:
itemClass - Clase descendiente directa de un tipo de dato genérico.
n - Posición, contando desde uno, del argumento cuyo tipo se está consultando.
Returns:
Clase del argumento n-ésimo de la clase genérica antedecesora de itemClass.
Throws:
GenericSignatureFormatError - si Class.getGenericSuperclass() falla.
TypeNotPresentException - si Class.getGenericSuperclass() falla o ParameterizedType.getActualTypeArguments() falla.
MalformedParameterizedTypeException - si Class.getGenericSuperclass() falla o ParameterizedType.getActualTypeArguments() falla.
IllegalArgumentException - si el antecedecesor de itemClass no es un tipo de dato genérico.
IndexOutOfBoundsException - si n queda fuera del rango definido por la lista de argumentos del padre de itemClass.

getSerializableType

public static Class<? extends Serializable> getSerializableType(Class<?> itemClass)
Infiere el tipo de dato indicado para T en una clase que implemente Serializable.

Parameters:
itemClass - Clase descenciente de una clase genérica cuyo primer tipo parametrizado se desea recuperar.
Returns:
Clase del primer argumento de la clase genérica que se le pasa.
Throws:
GenericSignatureFormatError - si lo lanza el API de reflexión de Java.
TypeNotPresentException - si lo lanza el API de reflexión de Java.
MalformedParameterizedTypeException - si lo lanza el API de reflexión de Java.
IllegalArgumentException - si la clase de item no desciende directamente de una clase genérica.
ClassCastException - si la clase recuperada no desciende de Number.
See Also:
Class.getGenericSuperclass(), ParameterizedType.getActualTypeArguments()

getField

public static Field getField(Class<?> clazz,
                             String name)
Devuelve la información relativa a un campo de la clase.

Parameters:
clazz - Clase a la que pertenece el campo.
name - Nombre del campo.
Returns:
Campo de la clase, o null si la clase no contiene un campo con ese nombre.
Throws:
SecurityException - si hay una violación de seguridad.
NullPointerException - si name es nulo.
IllegalArgumentException - si name está vacío.

getBeanInfo

public static BeanInfo getBeanInfo(Class<?> clazz)
Devuelve la información de un bean conforme la especificación Java Bean.

Parameters:
clazz - Clase que define las características del bean.
Returns:
Información del bean.
Throws:
IllegalArgumentException - si se produce un error de introspección sobre la clase indicada.
See Also:
Introspector.getBeanInfo(Class)

getPropertyDescriptor

public static PropertyDescriptor getPropertyDescriptor(Class<?> clazz,
                                                       String name)

getProperty

public static Object getProperty(Class<?> clazz,
                                 Object bean,
                                 String name)

getConstructor

public static final <T> Constructor<T> getConstructor(Class<T> type,
                                                      String className,
                                                      Class<?>... classes)
                                           throws ClassNotFoundException
Throws:
ClassNotFoundException


Copyright © 2024. All rights reserved.