|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectabk.core.util.ClassUtils
public final class ClassUtils
Métodos estáticos de utilidad para trabajar con clases.
| Constructor Summary | |
|---|---|
private |
ClassUtils()
Impide la creación de instancias de ClassUtils. |
| Method Summary | ||
|---|---|---|
static
|
createObject(Class<T> clazz)
Crea una nueva instancia lanzando una excepción NotImplementedException para encapsular cualquier excepción controlada durante la invocación del constructor. |
|
static
|
createObject(String className,
Class<T> type)
Crea una nueva instancia de una clase, cargando a esta última desde el ClassLoader del hilo y verificando que implementa o extiende el tipo de clase que se le pasa. |
|
static
|
createObject(String className,
Class<T> type,
ClassLoader cl)
Crea una nueva instancia de una clase, cargando a esta última desde el ClassLoader especificado y verificando que implementa o extiende el tipo de clase que se le pasa. |
|
static Class<?> |
forName(String className)
Carga una clase usando el ClassLoader del contexto del hilo, o bien desde Class.forName(String) si el anterior es nulo. |
|
static
|
getConstructor(Class<T> type,
Class<?>... classes)
Devuelve el constructor de un objeto para una especificación de argumentos dada, encapsulando la excepción NoSuchMethodException como IllegalArgumentException. |
|
static ClassLoader |
getContextClassLoader()
Devuelve el ClassLoader por defecto, que será el del hilo actual. |
|
static String |
getName(Class<?> clazz)
Invoca al método Class.getName() de una clase salvo que ésta sea nula, en cuyo caso devuelve el valor StringUtils.EMPTY. |
|
static String |
getName(Class<?> clazz,
String nullValue)
Invoca al método Class.getName() de una clase salvo que ésta sea nula, en cuyo caso devuelve el valor por defecto que se le pasa. |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
private ClassUtils()
| Method Detail |
|---|
public static final String getName(Class<?> clazz,
String nullValue)
clazz - Clase para la que se invoca el método.nullValue - Nombre a devolver si la clase clazz es nula.
public static final String getName(Class<?> clazz)
clazz - Clase para la que se invoca el método.getName(Class, String)public static final ClassLoader getContextClassLoader()
public static final Class<?> forName(String className)
throws ClassNotFoundException
className - Nombre completo de la clase.
ClassNotFoundException - si no se encuentra la clase pedida.
IllegalArgumentException - si className está vacío.
NullArgumentException - si className es nulo.getContextClassLoader(),
Class.forName(String, boolean, ClassLoader)public static <T> T createObject(Class<T> clazz)
T - Tipo del objeto a crear.clazz - Clase con la que crear un nuevo objeto.
null.
NotImplementedException - si se recibe alguna excepción de tipo
InstantiationException o
IllegalAccessException. Por ejemplo, si:
NullPointerException - si clazz es null.
SecurityException - si Class.newInstance() la lanza.
ExceptionInInitializerError - si Class.newInstance() la lanza.IllegalAccessException,
InstantiationException
public static <T> T createObject(String className,
Class<T> type)
throws ClassNotFoundException
T - Tipo de dato que es implementado o extendido por la clase designada mediante
className.className - Nombre de una clase que extiende o implementa T y a cuyo
constructor por defecto instanciaremos.type - Clase que representa el tipo de dato del objeto que queremos instanciar.
ClassNotFoundException - si la clase indicada en className no se
encuentra.
EmptyArgumentException - si className es una cadena vacía.
ExceptionInInitializerError - si Class.forName() o
createObject(Class) la lanzan.
IllegalClassException - si la clase className no extiende o implementa
T.
NotImplementedException - si se recibe alguna excepción de tipo
InstantiationException o
IllegalAccessException. Por ejemplo, si:
NullArgumentException - si type o className son nulos.
SecurityException - si createObject(Class) la lanza.Class.forName(String,boolean, ClassLoader),
getContextClassLoader(),
IllegalAccessException,
InstantiationException
public static <T> T createObject(String className,
Class<T> type,
ClassLoader cl)
throws ClassNotFoundException
T - Tipo de dato que es implementado o extendido por la clase designada mediante
className.className - Nombre de una clase que extiende o implementa T y a cuyo
constructor por defecto instanciaremos.type - Clase que representa el tipo de dato del objeto que queremos instanciar.cl - Cargador de clases a utilizar.
ClassNotFoundException - si la clase indicada en className no se
encuentra.
EmptyArgumentException - si className es una cadena vacía.
ExceptionInInitializerError - si Class.forName() o
createObject(Class) la lanzan.
IllegalClassException - si la clase className no extiende o implementa
T.
NotImplementedException - si se recibe alguna excepción de tipo
InstantiationException o
IllegalAccessException. Por ejemplo, si:
NullArgumentException - si type o className son nulos.
SecurityException - si createObject(Class) la lanza.Class.forName(String,boolean, ClassLoader),
IllegalAccessException,
InstantiationException
public static <T> Constructor<T> getConstructor(Class<T> type,
Class<?>... classes)
T - Tipo de objeto que crea el constructor.type - Clase que define al tipo <T>.classes - Lista de clases que especifican en tipo de dato de cada argumentos, en el mismo
orden en que se definen en éste.
NullPointerException - si type es nulo.
SecurityException - si Class::getConstructor(Class...) la lanza.
IllegalArgumentException - si no existe el constructor especificado.Class.getConstructor(Class...)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||