1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 """For combining multiple error messages together."""
17
18 import sys
19
20 from muntjac.terminal.error_message import IErrorMessage
21 from muntjac.terminal.paintable import IRepaintRequestListener
22
23
25 """Class for combining multiple error messages together.
26
27 @author: Vaadin Ltd.
28 @version: 1.1.2
29 """
30
32 """Constructor for CompositeErrorMessage.
33
34 @param errorMessages:
35 the Collection of error messages that are listed
36 together. At least one message is required.
37 """
38
39 self._errors = None
40
41
42 self._level = None
43
44 self._errors = list()
45 self._level = -sys.maxint - 1
46 for m in errorMessages:
47 self.addErrorMessage(m)
48
49 if len(self._errors) == 0:
50 raise ValueError, \
51 'Composite error message must have at least one error'
52
53
55 """The error level is the largest error level in.
56
57 @see: L{muntjac.terminal.IErrorMessage.getErrorLevel}
58 """
59 return self._level
60
61
63 """Adds a error message into this composite message. Updates the level
64 field.
65
66 @param error:
67 the error message to be added. Duplicate errors are ignored.
68 """
69 if error is not None and error not in self._errors:
70 self._errors.append(error)
71 l = error.getErrorLevel()
72 if l > self._level:
73 self._level = l
74
75
77 """Gets Error Iterator.
78
79 @return: the error iterator.
80 """
81 return iter(self._errors)
82
83
111
112
115
116
117 - def addCallback(self, callback, eventType=None, *args):
119
120
123
124
127
128
131
132
135
136
138 """Returns a comma separated list of the error messages.
139
140 @return: comma separated list of error messages.
141 """
142 retval = '['
143 pos = 0
144 for error in self._errors:
145 if pos > 0:
146 retval += ','
147 pos += 1
148 retval += str(error)
149 retval += ']'
150 return retval
151
152
155
156
158 raise NotImplementedError, \
159 'Setting testing id for this Paintable is not implemented'
160