1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.qedeq.kernel.se.common;
17
18 import org.qedeq.base.utility.EqualsUtility;
19
20
21
22
23
24
25
26
27
28
29 public abstract class ModuleDataException extends QedeqException {
30
31
32 private final ModuleContext context;
33
34
35 private final ModuleContext referenceContext;
36
37
38
39
40
41
42
43
44
45
46 public ModuleDataException(final int errorCode, final String message,
47 final ModuleContext context, final ModuleContext referenceContext,
48 final Exception cause) {
49 super(errorCode, message, cause);
50
51 this.context = (context == null ? null : new ModuleContext(context));
52 this.referenceContext = (referenceContext == null ? null
53 : new ModuleContext(referenceContext));
54 }
55
56
57
58
59
60
61
62
63
64 public ModuleDataException(final int errorCode, final String message,
65 final ModuleContext context, final ModuleContext referenceContext) {
66 super(errorCode, message);
67
68 this.context = (context == null ? null : new ModuleContext(context));
69 this.referenceContext = (referenceContext == null ? null
70 : new ModuleContext(referenceContext));
71 }
72
73
74
75
76
77
78
79
80
81 public ModuleDataException(final int errorCode, final String message,
82 final ModuleContext context, final Exception cause) {
83 super(errorCode, message, cause);
84
85 this.context = (context == null ? null : new ModuleContext(context));
86 this.referenceContext = null;
87 }
88
89
90
91
92
93
94
95
96 public ModuleDataException(final int errorCode, final String message,
97 final ModuleContext context) {
98 super(errorCode, message);
99
100 this.context = (context == null ? null : new ModuleContext(context));
101 this.referenceContext = null;
102 }
103
104
105
106
107
108
109 public final ModuleContext getContext() {
110 return context;
111 }
112
113
114
115
116
117
118 public final ModuleContext getReferenceContext() {
119 return referenceContext;
120 }
121
122 public final int hashCode() {
123 return getErrorCode() ^ context.hashCode() ^ getMessage().hashCode();
124 }
125
126 public final boolean equals(final Object obj) {
127 if (!(obj instanceof ModuleDataException)) {
128 return false;
129 }
130 final ModuleDataException other = (ModuleDataException) obj;
131 return (getErrorCode() == other.getErrorCode())
132 && EqualsUtility.equals(getMessage(), other.getMessage())
133 && EqualsUtility.equals(context, other.context);
134 }
135
136
137 }