mx.emite.sdk.errores.ApiException Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ef-sdk-java Show documentation
Show all versions of ef-sdk-java Show documentation
Este kit de consumo provee a los integradores de Apis de Java para construir software que consuma los diferentes servicios web publicados por Emite Facturacion
package mx.emite.sdk.errores;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
import org.apache.commons.lang3.exception.ExceptionUtils;
import com.fasterxml.jackson.annotation.JsonIgnore;
//@JsonIgnoreProperties(value={"cause"})
public class ApiException extends RuntimeException{
/**
*
*/
private static final long serialVersionUID = -7552430730864319330L;
private final I_Api_Errores error;
private List mensajes = new ArrayList();
@JsonIgnore
private final Exception excepcion;
public ApiException(I_Api_Errores error) {
super(error.getDescripcion());
this.error=error;
this.excepcion=null;
}
public ApiException(I_Api_Errores error, Exception ex) {
super(error.getDescripcion(),ex);
this.error=error;
this.excepcion=ex;
}
public ApiException(I_Api_Errores error,String mensaje, Exception ex) {
super(error.getDescripcion(),ex);
this.error=error;
this.excepcion=ex;
mensajes.add(mensaje);
}
public ApiException(I_Api_Errores error, String mensaje) {
this(error);
mensajes.add(mensaje);
}
public ApiException(I_Api_Errores tipo, List errores) {
this(tipo);
mensajes.addAll(errores);
}
/*private void procesaErrores(BindingResult result) {
List fieldErrors = result.getFieldErrors();
List globalErrors = result.getGlobalErrors();
fieldErrors.stream().forEach(i->mensajes.add(String.join(":", i.getField(),i.getDefaultMessage())));
globalErrors.stream().forEach(i->mensajes.add(String.join(":", i.getObjectName(),i.getDefaultMessage())));
}*/
public ApiException(I_Api_Errores tipo, Set> errores) {
this(tipo);
errores.stream().forEach(i->mensajes.add(MessageFormat.format(i.getMessage(),i.getPropertyPath())));
}
public String getTraza() {
return excepcion==null?this.error.name(): ExceptionUtils.getStackTrace(this);
}
public I_Api_Errores getError() {
return error;
}
public List getErrores() {
return mensajes;
}
public List getMensajes() {
return mensajes;
}
public void setMensajes(List mensajes) {
this.mensajes = mensajes;
}
public Exception getExcepcion() {
return excepcion;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy