1 | ;;+----------------------------------------------------------------------------- |
---|
2 | ;;+ Isidorus |
---|
3 | ;;+ (c) 2008-2010 Marc Kuester, Christoph Ludwig, Lukas Georgieff |
---|
4 | ;;+ |
---|
5 | ;;+ Isidorus is freely distributable under the LLGPL license. |
---|
6 | ;;+ You can find a detailed description in trunk/docs/LLGPL-LICENSE.txt and |
---|
7 | ;;+ trunk/docs/LGPL-LICENSE.txt. |
---|
8 | ;;+----------------------------------------------------------------------------- |
---|
9 | |
---|
10 | (defpackage :exceptions |
---|
11 | (:use :common-lisp) |
---|
12 | (:export :inconsistent-file-error |
---|
13 | :missing-reference-error |
---|
14 | :no-identifier-error |
---|
15 | :duplicate-identifier-error |
---|
16 | :object-not-found-error |
---|
17 | :not-mergable-error |
---|
18 | :missing-argument-error |
---|
19 | :tm-reference-error |
---|
20 | :bad-type-error |
---|
21 | :sparql-parser-error |
---|
22 | :bad-argument-error |
---|
23 | :JTM-error)) |
---|
24 | |
---|
25 | (in-package :exceptions) |
---|
26 | |
---|
27 | |
---|
28 | (define-condition bad-argument-error(error) |
---|
29 | ((message |
---|
30 | :initarg :message |
---|
31 | :accessor message))) |
---|
32 | |
---|
33 | |
---|
34 | (define-condition sparql-parser-error(error) |
---|
35 | ((message |
---|
36 | :initarg :message |
---|
37 | :accessor message))) |
---|
38 | |
---|
39 | |
---|
40 | (define-condition inconsistent-file-error(error) |
---|
41 | ((message |
---|
42 | :initarg :message |
---|
43 | :accessor message))) |
---|
44 | |
---|
45 | |
---|
46 | (define-condition missing-reference-error(error) |
---|
47 | ((message |
---|
48 | :initarg :message |
---|
49 | :accessor message) |
---|
50 | (reference |
---|
51 | :accessor reference |
---|
52 | :initarg :reference)) |
---|
53 | (:documentation "thrown is a reference is missing")) |
---|
54 | |
---|
55 | |
---|
56 | (define-condition duplicate-identifier-error(error) |
---|
57 | ((message |
---|
58 | :initarg :message |
---|
59 | :accessor message) |
---|
60 | (uri |
---|
61 | :accessor reference |
---|
62 | :initarg :reference)) |
---|
63 | (:documentation "thrown if the same identifier is already in use")) |
---|
64 | |
---|
65 | |
---|
66 | (define-condition object-not-found-error(error) |
---|
67 | ((message |
---|
68 | :initarg :message |
---|
69 | :accessor message)) |
---|
70 | (:documentation "thrown if the object could not be found")) |
---|
71 | |
---|
72 | |
---|
73 | (define-condition no-identifier-error(error) |
---|
74 | ((message |
---|
75 | :initarg :message |
---|
76 | :accessor message) |
---|
77 | (internal-id |
---|
78 | :initarg :internal-id |
---|
79 | :accessor internal-id)) |
---|
80 | (:documentation "thrown if the topic has no identifier")) |
---|
81 | |
---|
82 | |
---|
83 | (define-condition not-mergable-error (error) |
---|
84 | ((message |
---|
85 | :initarg :message |
---|
86 | :accessor message) |
---|
87 | (construc-1 |
---|
88 | :initarg :construct-1 |
---|
89 | :accessor construct-1) |
---|
90 | (construc-2 |
---|
91 | :initarg :construct-2 |
---|
92 | :accessor construct-2)) |
---|
93 | (:documentation "Thrown if two constructs are not mergable since |
---|
94 | they have e.g. difference types.")) |
---|
95 | |
---|
96 | |
---|
97 | (define-condition missing-argument-error (error) |
---|
98 | ((message |
---|
99 | :initarg :message |
---|
100 | :accessor message) |
---|
101 | (argument-symbol |
---|
102 | :initarg :argument-symbol |
---|
103 | :accessor argument-symbol) |
---|
104 | (function-symbol |
---|
105 | :initarg :function-symbol |
---|
106 | :accessor function-symbol)) |
---|
107 | (:documentation "Thrown if a argument is missing in a function.")) |
---|
108 | |
---|
109 | |
---|
110 | (define-condition tm-reference-error (error) |
---|
111 | ((message |
---|
112 | :initarg :message |
---|
113 | :accessor message) |
---|
114 | (referenced-construct |
---|
115 | :initarg :referenced-construct |
---|
116 | :accessor referenced-construct) |
---|
117 | (existing-reference |
---|
118 | :initarg :existing-reference |
---|
119 | :accessor existing-reference) |
---|
120 | (new-reference |
---|
121 | :initarg :new-reference |
---|
122 | :accessor new-reference)) |
---|
123 | (:documentation "Thrown if the referenced-construct is already owned by another |
---|
124 | TM-construct (existing-reference) and is going to be referenced |
---|
125 | by a second TM-construct (new-reference) at the same time.")) |
---|
126 | |
---|
127 | |
---|
128 | (define-condition bad-type-error (error) |
---|
129 | ((message |
---|
130 | :initarg :message |
---|
131 | :accessor message) |
---|
132 | (expected-type |
---|
133 | :initarg :expected-type |
---|
134 | :accessor expected-type) |
---|
135 | (result-object |
---|
136 | :initarg :result-object |
---|
137 | :accessor result-object)) |
---|
138 | (:documentation "Thrown if a bad result object with respect to the expected |
---|
139 | type was found.")) |
---|
140 | |
---|
141 | |
---|
142 | (define-condition JTM-error (error) |
---|
143 | ((message :initarg :message |
---|
144 | :accessor message)) |
---|
145 | (:documentation "Thrown if any error occurs during JTM serialisation |
---|
146 | or deserialisation.")) |
---|