LogicalCheckExceptionList.java
01 /* This file is part of the project "Hilbert II" - http://www.qedeq.org
02  *
03  * Copyright 2000-2013,  Michael Meyling <mime@qedeq.org>.
04  *
05  * "Hilbert II" is free software; you can redistribute
06  * it and/or modify it under the terms of the GNU General Public
07  * License as published by the Free Software Foundation; either
08  * version 2 of the License, or (at your option) any later version.
09  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  */
15 
16 package org.qedeq.kernel.bo.logic.common;
17 
18 import java.util.ArrayList;
19 import java.util.List;
20 
21 /**
22  * Type save {@link org.qedeq.kernel.bo.logic.common.LogicalCheckException} list.
23  *
24  @author  Michael Meyling
25  */
26 public class LogicalCheckExceptionList {
27 
28     /** List with parse exceptions. */
29     private final List exceptions = new ArrayList();
30 
31     /**
32      * Constructor.
33      */
34     public LogicalCheckExceptionList() {
35         // nothing to do
36     }
37 
38     /**
39      * Add exception.
40      *
41      @param   e   Exception to add.
42      */
43     public void add(final LogicalCheckException e) {
44         exceptions.add(e);
45     }
46 
47     /**
48      * Add exceptions.
49      *
50      @param   e   Exceptions to add.
51      */
52     public void add(final LogicalCheckExceptionList e) {
53         exceptions.addAll(e.exceptions);
54     }
55 
56     /**
57      * Get number of collected exceptions.
58      *
59      @return  Number of collected exceptions.
60      */
61     public int size() {
62         return exceptions.size();
63     }
64 
65     /**
66      * Get <code>i</code>-th exception.
67      *
68      @param   i   Starts with 0 and must be smaller than {@link #size()}.
69      @return  Wanted exception.
70      */
71     public LogicalCheckException get(final int i) {
72         return (LogicalCheckExceptionexceptions.get(i);
73     }
74 
75     /**
76      * Contains this list any errors?
77      *
78      @return  Do I contain any errors?
79      */
80     public boolean hasErrors() {
81         return size() 0;
82     }
83 
84     public String toString() {
85         final StringBuffer buffer = new StringBuffer();
86         for (int i = 0; i < size(); i++) {
87             if (i != 0) {
88                 buffer.append("\n");
89             }
90             final LogicalCheckException e = get(i);
91             buffer.append(i).append(": ");
92             buffer.append(e.toString());
93         }
94         return buffer.toString();
95     }
96 
97 }