1 package org.cacert.gigi;
3 import java.io.PrintWriter;
4 import java.sql.SQLException;
5 import java.util.LinkedList;
7 import org.cacert.gigi.localisation.Language;
9 public class GigiApiException extends Exception {
11 private SQLException e;
13 private LinkedList<String> messages = new LinkedList<>();
15 public GigiApiException(SQLException e) {
20 public GigiApiException(String message) {
22 messages.add(message);
25 public GigiApiException() {
29 public void mergeInto(GigiApiException e2) {
30 messages.addAll(e2.messages);
36 public boolean isInternalError() {
40 public void format(PrintWriter out, Language language) {
41 out.println("<div class='formError'>");
42 if (isInternalError()) {
45 out.println(language.getTranslation("An internal error ouccured."));
46 out.println("</div>");
48 for (String message : messages) {
50 out.print(language.getTranslation(message));
51 out.println("</div>");
53 out.println("</div>");
57 public boolean isEmpty() {
58 return e == null && messages.size() == 0;