Java tutorial
/* Copyright (C) 2007 Flix Garca Borrego (borrego at gmail.com) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ package org.viafirma.excepciones; import org.apache.commons.lang.StringUtils; /** * Excepcion generica de la que extienden todas las excepciones * de la aplicacin * Define un cdigo de error * * @author Felix Garcia Borrego (borrego at gmail.com) */ public class Excepcion extends Exception { /** * */ private static final long serialVersionUID = 1L; /** * Codigo de error */ private CodigoError codError; /** * @return Returns the codError. */ public CodigoError getCodError() { return codError; } /** * @param codError The codError to set. */ public void setCodError(CodigoError codError) { this.codError = codError; } /** * Crea una nueva excepcin */ public Excepcion(CodigoError codigo, String mensaje, Throwable e) { super(mensaje, e); codError = codigo; } /** * Crea una nueva excepcin */ public Excepcion(CodigoError codigo, Throwable e) { super(e); codError = codigo; } /** * Crea una nueva excepcin */ public Excepcion(CodigoError codigo, String mensaje) { super(mensaje); codError = codigo; } /** * No permitimos el constructor sin parametros * */ @SuppressWarnings("unused") private Excepcion() { } /** * Crea una excepcion solo indicando el codigo de error. * y generando el texto del mensaje utilizando el codigo * @param codigo */ public Excepcion(CodigoError codigo) { super(codigo.toString()); this.codError = codigo; } /** Retorna el mensaje con el motivo del error y su cdigo. * Si hay un mensaje de error, retorna el mensaje y su codigo * Si no hay mensaje de error retorna solo el codigo de error. */ @Override public String getMessage() { if (StringUtils.isEmpty(super.getMessage())) { return getCodError().toString(); } else if (super.getMessage().equals(getCodError().toString())) { return super.getMessage(); } else { return super.getMessage() + "{" + getCodError() + "}"; } } }