create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / preset / InvalidComponentPresetException.java
1 package net.sf.openrocket.preset;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 public class InvalidComponentPresetException extends Exception {
7
8         private List<String> errors = new ArrayList<String>();
9         private List<TypedKey<?>> invalidParameters = new ArrayList<TypedKey<?>>();
10         
11         public InvalidComponentPresetException() {
12                 super();
13         }
14
15         public InvalidComponentPresetException(String message, Throwable cause) {
16                 super(message, cause);
17         }
18
19         public InvalidComponentPresetException(String message) {
20                 super(message);
21         }
22
23         public InvalidComponentPresetException(Throwable cause) {
24                 super(cause);
25         }
26         
27         void addInvalidParameter(TypedKey<?> key ) {
28                 invalidParameters.add(key);
29         }
30         
31         void addInvalidParameter(TypedKey<?> key, String message ) {
32                 invalidParameters.add(key);
33                 errors.add(message);
34         }
35         
36         void addMessage( String message ) {
37                 errors.add(message);
38         }
39
40         boolean hasProblems() {
41                 return (invalidParameters.size() + errors.size()) > 0;
42         }
43         
44         public int problemCount() {
45                 return Math.max( invalidParameters.size(), errors.size() );
46         }
47         
48         public List<String> getErrors() {
49                 return errors;
50         }
51
52         public List<TypedKey<?>> getInvalidParameters() {
53                 return invalidParameters;
54         }
55         
56 }