1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package ch.qos.cal10n.verifier;
23
24 import java.util.Locale;
25
26
27
28
29
30
31
32
33 public class Cal10nError {
34
35 enum ErrorType {
36
37
38 MISSING_BN_ANNOTATION, FAILED_TO_FIND_RB, EMPTY_RB, EMPTY_ENUM, ABSENT_IN_RB, ABSENT_IN_ENUM;
39 }
40
41 final ErrorType errorType;
42 final String key;
43 final Locale locale;
44 final Class<?> enumClass;
45 final String enumClassName;
46 final String baseName;
47
48 Cal10nError(ErrorType errorType, String key, Class<?> enumClass,
49 Locale locale, String baseName) {
50 this.errorType = errorType;
51 this.key = key;
52 this.enumClass = enumClass;
53 this.enumClassName = enumClass.getName();
54 this.locale = locale;
55 this.baseName = baseName;
56 }
57
58 public ErrorType getErrorType() {
59 return errorType;
60 }
61
62 public String getKey() {
63 return key;
64 }
65
66 public Locale getLocale() {
67 return locale;
68 }
69
70 public Class<?> getEnumClass() {
71 return enumClass;
72 }
73
74 @Override
75 public String toString() {
76 switch (errorType) {
77 case MISSING_BN_ANNOTATION:
78 return "Missing @BaseName annotation in enum type ["
79 + enumClassName + "]";
80 case FAILED_TO_FIND_RB:
81 return "Failed to locate resource bundle [" + baseName
82 + "] for locale [" + locale + "] for enum type [" + enumClassName
83 + "]";
84 case EMPTY_RB:
85 return "Empty resource bundle named [" + baseName
86 + "] for locale [" + locale + "]";
87 case EMPTY_ENUM:
88 return "Empty enum type [" + enumClassName + "]";
89 case ABSENT_IN_ENUM:
90 return "Key [" + key + "] present in resource bundle named ["
91 + baseName + "] for locale [" + locale
92 + "] but absent in enum type [" + enumClassName + "]";
93 case ABSENT_IN_RB:
94 return "Key [" + key + "] present in enum type [" + enumClassName
95 + "] but absent in resource bundle named [" + baseName
96 + "] for locale [" + locale + "]";
97 default:
98 throw new IllegalStateException("Impossible to reach here");
99 }
100 }
101 }