0
|
1 package nabble.naml.namespaces;
|
|
2
|
|
3
|
|
4 public class TemplateException extends Exception {
|
|
5
|
|
6 // this class is just to prevent constructor confusion with message
|
|
7 protected static final class Name {
|
|
8 private final String s;
|
|
9
|
|
10 private Name(String s) {
|
|
11 this.s = s;
|
|
12 }
|
|
13 }
|
|
14
|
|
15 protected static Name name(String s) {
|
|
16 return new Name(s);
|
|
17 }
|
|
18
|
|
19
|
|
20 private final String name;
|
|
21
|
|
22 protected TemplateException(Name name) {
|
|
23 this.name = name.s;
|
|
24 }
|
|
25
|
|
26 protected TemplateException(Name name,Exception cause) {
|
|
27 super(cause.getMessage(),cause);
|
|
28 this.name = name.s;
|
|
29 }
|
|
30
|
|
31 protected TemplateException(Name name,String msg) {
|
|
32 super(msg);
|
|
33 this.name = name.s;
|
|
34 }
|
|
35
|
|
36 protected TemplateException(Name name,String msg,Exception cause) {
|
|
37 super(msg,cause);
|
|
38 this.name = name.s;
|
|
39 }
|
|
40
|
|
41 public static TemplateException newInstance(String name) {
|
|
42 return new TemplateException(name(name));
|
|
43 }
|
|
44
|
|
45 public static TemplateException newInstance(String name,Exception cause) {
|
|
46 return new TemplateException(name(name),cause);
|
|
47 }
|
|
48
|
|
49 protected String getName() {
|
|
50 return name;
|
|
51 }
|
|
52
|
|
53 public boolean isNamed(String name) {
|
|
54 return this.name.equals(name);
|
|
55 }
|
|
56
|
|
57 public String toString() {
|
|
58 String s = getClass().getName() + ": " + getName();
|
|
59 String message = getLocalizedMessage();
|
|
60 return (message != null) ? (s + ": " + message) : s;
|
|
61 }
|
|
62
|
|
63 }
|