74 lines
1.8 KiB
Plaintext
Executable File
74 lines
1.8 KiB
Plaintext
Executable File
package com.fp.common.exception;
|
|
|
|
import java.text.MessageFormat;
|
|
import java.util.Locale;
|
|
import java.util.ResourceBundle;
|
|
|
|
/**
|
|
* Clase que se encarga del manejo de excepciones.
|
|
* @author Jorge Vaca.
|
|
* @version 2.1
|
|
*/
|
|
public abstract class ExceptionManager {
|
|
|
|
/**Bundle que maneja los texto de error por idioma, locale*/
|
|
private ResourceBundle messages;
|
|
/**Locale con el cual se obtiene el bundle.*/
|
|
private Locale locale;
|
|
|
|
/**
|
|
* Metodoq ue entrega el mensaje de usuario dada la Excepcion.
|
|
* @param pException Excepcion utilizada para obtener el mensaje de usuario.
|
|
* @return String
|
|
*/
|
|
abstract public String getUserMessage(Throwable pException);
|
|
|
|
/**
|
|
* Metodo que entrega el codigo de excepcion.
|
|
* @param pException Excepcion utilizada para obtener el codigo de excepcion.
|
|
* @return String
|
|
*/
|
|
abstract public String getCode(Throwable pException);
|
|
|
|
/**
|
|
* Metodo que fija el Locale, que sirve para obtener el bundel que maneja los textos de la excepcion.
|
|
* @param pLocale
|
|
*/
|
|
public void setLocale(Locale pLocale) {
|
|
locale = pLocale;
|
|
messages = ResourceBundle.getBundle("userMessages", locale);
|
|
}
|
|
|
|
|
|
/**
|
|
* Entrega el mensaje del bundle.
|
|
* @param pKey Codigo de mensaje del bundle.
|
|
* @return
|
|
*/
|
|
protected String getMessage(String pKey) {
|
|
try {
|
|
return messages.getString(pKey);
|
|
} catch (Throwable e) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Entrega el mensaje del bundle.
|
|
* @param pKey Codigo de mensaje del bundle.
|
|
* @param pParameters Parametros con los que se cpmpleta el mensaje definido en el bundle.
|
|
* @return String
|
|
*/
|
|
protected String getMessage(String pKey, Object... pParameters) {
|
|
try {
|
|
String msg = this.getMessage(pKey);
|
|
if(msg == null){
|
|
msg = pKey;
|
|
}
|
|
return MessageFormat.format(msg, pParameters);
|
|
} catch (Throwable e) {
|
|
return null;
|
|
}
|
|
}
|
|
}
|