com.goikosoft.reflection.MethodException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of reflection-utils Show documentation
Show all versions of reflection-utils Show documentation
Reflection utils. Simple envelope for reflection simplification
The newest version!
package com.goikosoft.reflection;
import java.lang.reflect.Method;
/**
* Lanzada cuando no se permite ejecutar un método o constructor.
*
* Las causas pueden varias: No existe, no hay permisos, etc.
*
* @author Dario
*
*/
public class MethodException extends ReflectionException {
private String nombreMetodo;
private Method metodo;
private Class> clase;
/**
*
*/
private static final long serialVersionUID = 6970954305065639057L;
public MethodException() {
super();
nombreMetodo = null;
this.clase = null;
}
public MethodException(String message, String nombreMetodo, Class> clase, Throwable cause) {
super(message, cause);
this.nombreMetodo = nombreMetodo;
this.clase = clase;
}
public MethodException(String message, String nombreMetodo, Class> clase) {
super(message);
this.nombreMetodo = nombreMetodo;
this.clase = clase;
}
public MethodException(String nombreMetodo, Class> clase, Throwable cause) {
super(cause);
this.nombreMetodo = nombreMetodo;
this.clase = clase;
}
public MethodException(Method method) {
super();
metodo = method;
this.clase = null;
}
public MethodException(String message, Method method, Class> clase, Throwable cause) {
super(message, cause);
this.metodo = method;
this.clase = clase;
}
public MethodException(String message, Method method, Class> clase) {
super(message);
this.metodo = method;
this.clase = clase;
}
public MethodException(Method method, Class> clase, Throwable cause) {
super(cause);
this.metodo = method;
this.clase = clase;
}
public MethodException(String message, Throwable cause) {
super(message, cause);
nombreMetodo = null;
this.clase = null;
}
public MethodException(String message) {
super(message);
nombreMetodo = null;
this.clase = null;
}
public MethodException(Throwable cause) {
super(cause);
nombreMetodo = null;
this.clase = null;
}
public Method getMetodo() {
return metodo;
}
protected void setMetodo(Method metodo) {
this.metodo = metodo;
}
public String getNombreMetodo() {
if(nombreMetodo == null && metodo != null) return metodo.getName();
return nombreMetodo;
}
protected void setNombreMetodo(String metodo) {
this.nombreMetodo = metodo;
}
public Class> getClase() {
return clase;
}
protected void setClase(Class> clase) {
this.clase = clase;
}
public String getMessage() {
String causa;
if(this.getCause()!=null) causa = ". Causa: "+getCause();
else causa="";
return super.getMessage() + causa;
}
@Override
protected String getOnlyMsg() {
return super.getOnlyMsg() + (clase != null ? ". Clase: " + clase.getName() : "") + (nombreMetodo != null ? ". Método: " + nombreMetodo : "");
}
}