View Javadoc

1   /**********************************************
2    * Copyright (C) 2011 Lukas Laag
3    * This file is part of svgreal.
4    * 
5    * svgreal is free software: you can redistribute it and/or modify
6    * it under the terms of the GNU General Public License as published by
7    * the Free Software Foundation, either version 3 of the License, or
8    * (at your option) any later version.
9    * 
10   * svgreal is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   * 
15   * You should have received a copy of the GNU General Public License
16   * along with svgreal.  If not, see http://www.gnu.org/licenses/
17   **********************************************/
18  package org.vectomatic.svg.edit.client.model;
19  
20  import com.extjs.gxt.ui.client.util.Format;
21  
22  /**
23   * Class to represent a validation error or warning.
24   * @author laaglu
25   */
26  public class ValidationError {
27  	/**
28  	 * Enum to represent the severity of an error
29  	 */
30  	public enum Severity {
31  		WARNING,
32  		ERROR
33  	}
34  	/**
35  	 * The error severity
36  	 */
37  	protected Severity severity;
38  	/**
39  	 * The error message before arguments substitution
40  	 */
41  	protected String message;
42  	/**
43  	 * Args of the error message
44  	 */
45  	protected Object[] args;
46  	/**
47  	 * Constructor
48  	 * @param severity
49  	 * The error severity
50  	 * @param message
51  	 * The error message before arguments substitution
52  	 */
53  	public ValidationError(Severity severity, String message) {
54  		this(severity, message, null);
55  	}
56  	/**
57  	 * Constructor
58  	 * @param severity
59  	 * The error severity
60  	 * @param message
61  	 * The error message before arguments substitution
62  	 * @param args
63  	 * Args of the error message
64  	 */
65  	public ValidationError(Severity severity, String message, Object[] args) {
66  		this.severity = severity;
67  		this.message = message;
68  		this.args = args;
69  	}
70  	/**
71  	 * Returns the error severity
72  	 * @return
73  	 * The error severity
74  	 */
75  	public Severity getSeverity() {
76  		return severity;
77  	}
78  	/**
79  	 * Returns a localized error message for this error.
80  	 * @return a localized error message for this error.
81  	 */
82  	public String getMessage() {
83  		return (args == null) ? message : Format.substitute(message, args);
84  	}
85  }
86