|
||||||||||
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 |