1 /*
2 * $Id$
3 */
4
5 package org.apache.maven.model;
6
7 //---------------------------------/
8 //- Imported classes and packages -/
9 //---------------------------------/
10
11 import java.util.Date;
12
13 /**
14 * Configures one method for notifying users/developers when a
15 * build breaks.
16 *
17 * @version $Revision$ $Date$
18 */
19 public class Notifier implements java.io.Serializable {
20
21
22 //--------------------------/
23 //- Class/Member Variables -/
24 //--------------------------/
25
26 /**
27 * The mechanism used to deliver notifications.
28 */
29 private String type = "mail";
30
31 /**
32 * Whether to send notifications on error.
33 */
34 private boolean sendOnError = true;
35
36 /**
37 * Whether to send notifications on failure.
38 */
39 private boolean sendOnFailure = true;
40
41 /**
42 * Whether to send notifications on success.
43 */
44 private boolean sendOnSuccess = true;
45
46 /**
47 * Whether to send notifications on warning.
48 */
49 private boolean sendOnWarning = true;
50
51 /**
52 *
53 *
54 * <b>Deprecated</b>. Where to send the
55 * notification to - eg email address.
56 *
57 *
58 */
59 private String address;
60
61 /**
62 * Field configuration.
63 */
64 private java.util.Properties configuration;
65
66
67 //-----------/
68 //- Methods -/
69 //-----------/
70
71 /**
72 * Method addConfiguration.
73 *
74 * @param key
75 * @param value
76 */
77 public void addConfiguration( String key, String value )
78 {
79 getConfiguration().put( key, value );
80 } //-- void addConfiguration( String, String )
81
82 /**
83 * Get
84 *
85 * <b>Deprecated</b>. Where to send the
86 * notification to - eg email address.
87 *
88 *
89 *
90 * @return String
91 */
92 public String getAddress()
93 {
94 return this.address;
95 } //-- String getAddress()
96
97 /**
98 * Method getConfiguration.
99 *
100 * @return java.util.Properties
101 */
102 public java.util.Properties getConfiguration()
103 {
104 if ( this.configuration == null )
105 {
106 this.configuration = new java.util.Properties();
107 }
108
109 return this.configuration;
110 } //-- java.util.Properties getConfiguration()
111
112 /**
113 * Get the mechanism used to deliver notifications.
114 *
115 * @return String
116 */
117 public String getType()
118 {
119 return this.type;
120 } //-- String getType()
121
122 /**
123 * Get whether to send notifications on error.
124 *
125 * @return boolean
126 */
127 public boolean isSendOnError()
128 {
129 return this.sendOnError;
130 } //-- boolean isSendOnError()
131
132 /**
133 * Get whether to send notifications on failure.
134 *
135 * @return boolean
136 */
137 public boolean isSendOnFailure()
138 {
139 return this.sendOnFailure;
140 } //-- boolean isSendOnFailure()
141
142 /**
143 * Get whether to send notifications on success.
144 *
145 * @return boolean
146 */
147 public boolean isSendOnSuccess()
148 {
149 return this.sendOnSuccess;
150 } //-- boolean isSendOnSuccess()
151
152 /**
153 * Get whether to send notifications on warning.
154 *
155 * @return boolean
156 */
157 public boolean isSendOnWarning()
158 {
159 return this.sendOnWarning;
160 } //-- boolean isSendOnWarning()
161
162 /**
163 * Set
164 *
165 * <b>Deprecated</b>. Where to send the
166 * notification to - eg email address.
167 *
168 *
169 *
170 * @param address
171 */
172 public void setAddress( String address )
173 {
174 this.address = address;
175 } //-- void setAddress( String )
176
177 /**
178 * Set extended configuration specific to this notifier goes
179 * here.
180 *
181 * @param configuration
182 */
183 public void setConfiguration( java.util.Properties configuration )
184 {
185 this.configuration = configuration;
186 } //-- void setConfiguration( java.util.Properties )
187
188 /**
189 * Set whether to send notifications on error.
190 *
191 * @param sendOnError
192 */
193 public void setSendOnError( boolean sendOnError )
194 {
195 this.sendOnError = sendOnError;
196 } //-- void setSendOnError( boolean )
197
198 /**
199 * Set whether to send notifications on failure.
200 *
201 * @param sendOnFailure
202 */
203 public void setSendOnFailure( boolean sendOnFailure )
204 {
205 this.sendOnFailure = sendOnFailure;
206 } //-- void setSendOnFailure( boolean )
207
208 /**
209 * Set whether to send notifications on success.
210 *
211 * @param sendOnSuccess
212 */
213 public void setSendOnSuccess( boolean sendOnSuccess )
214 {
215 this.sendOnSuccess = sendOnSuccess;
216 } //-- void setSendOnSuccess( boolean )
217
218 /**
219 * Set whether to send notifications on warning.
220 *
221 * @param sendOnWarning
222 */
223 public void setSendOnWarning( boolean sendOnWarning )
224 {
225 this.sendOnWarning = sendOnWarning;
226 } //-- void setSendOnWarning( boolean )
227
228 /**
229 * Set the mechanism used to deliver notifications.
230 *
231 * @param type
232 */
233 public void setType( String type )
234 {
235 this.type = type;
236 } //-- void setType( String )
237
238
239 private String modelEncoding = "UTF-8";
240
241 /**
242 * Set an encoding used for reading/writing the model.
243 *
244 * @param modelEncoding the encoding used when reading/writing the model.
245 */
246 public void setModelEncoding( String modelEncoding )
247 {
248 this.modelEncoding = modelEncoding;
249 }
250
251 /**
252 * @return the current encoding used when reading/writing this model.
253 */
254 public String getModelEncoding()
255 {
256 return modelEncoding;
257 }
258 }