/*
@ITMillApache2LicenseForJavaFiles@
*/
-package com.vaadin.data.validator;\r
-\r
-import com.vaadin.data.Validator;\r
-\r
-/**\r
- * Default Validator base class. See {@link com.vaadin.data.validator.Validator}\r
- * for more information.\r
- * <p>\r
- * If the validation fails, the exception thrown contains the error message with\r
- * its argument 0 replaced with the toString() of the object being validated.\r
- * </p>\r
- * \r
- * @author IT Mill Ltd.\r
- * @version\r
- * @VERSION@\r
- * @since 5.4\r
- */\r
-@SuppressWarnings("serial")\r
-public abstract class AbstractValidator implements Validator {\r
-\r
- /**\r
- * Error message.\r
- */\r
- private String errorMessage;\r
-\r
- /**\r
- * Constructs a validator with an error message.\r
- * \r
- * @param errorMessage\r
- * the message included in the exception (with its parameter {0}\r
- * replaced by toString() of the object to be validated) in case\r
- * the validation fails\r
- */\r
- public AbstractValidator(String errorMessage) {\r
- this.errorMessage = errorMessage;\r
- }\r
-\r
- public void validate(Object value) throws InvalidValueException {\r
- if (!isValid(value)) {\r
- String message;\r
- if (value == null) {\r
- message = errorMessage.replace("{0}", "null");\r
- } else {\r
- message = errorMessage.replace("{0}", value.toString());\r
- }\r
- throw new InvalidValueException(message);\r
- }\r
- }\r
-\r
- /**\r
- * Gets the message to be displayed in case the value does not validate.\r
- * \r
- * @return the Error Message.\r
- */\r
- public String getErrorMessage() {\r
- return errorMessage;\r
- }\r
-\r
- /**\r
- * Sets the message to be displayed in case the value does not validate.\r
- * \r
- * @param errorMessage\r
- * the Error Message to set.\r
- */\r
- public void setErrorMessage(String errorMessage) {\r
- this.errorMessage = errorMessage;\r
- }\r
-}\r
+package com.vaadin.data.validator;
+
+import com.vaadin.data.Validator;
+
+/**
+ * Abstract {@link com.vaadin.data.validator.Validator Validator} implementation
+ * that provides a basic Validator implementation except the
+ * {@link #isValid(Object)} method. Sub-classes need to implement the
+ * {@link #isValid(Object)} method.
+ * <p>
+ * To include the value that failed validation in the exception message you can
+ * use "{0}" in the error message. This will be replaced with the failed value
+ * (converted to string using {@link #toString()}) or "null" if the value is
+ * null.
+ * </p>
+ *
+ * @author IT Mill Ltd.
+ * @version
+ * @VERSION@
+ * @since 5.4
+ */
+@SuppressWarnings("serial")
+public abstract class AbstractValidator implements Validator {
+
+ /**
+ * Error message that is included in an {@link InvalidValueException} if
+ * such is thrown.
+ */
+ private String errorMessage;
+
+ /**
+ * Constructs a validator with the given error message.
+ *
+ * @param errorMessage
+ * the message to be included in an {@link InvalidValueException}
+ * (with "{0}" replaced by the value that failed validation).
+ */
+ public AbstractValidator(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+
+ public void validate(Object value) throws InvalidValueException {
+ if (!isValid(value)) {
+ String message;
+ if (value == null) {
+ message = errorMessage.replace("{0}", "null");
+ } else {
+ message = errorMessage.replace("{0}", value.toString());
+ }
+ throw new InvalidValueException(message);
+ }
+ }
+
+ /**
+ * Returns the message to be included in the exception in case the value
+ * does not validate.
+ *
+ * @return the error message provided in the constructor or using
+ * {@link #setErrorMessage(String)}.
+ */
+ public String getErrorMessage() {
+ return errorMessage;
+ }
+
+ /**
+ * Sets the message to be included in the exception in case the value does
+ * not validate. The exception message is typically shown to the end user.
+ *
+ * @param errorMessage
+ * the error message. "{0}" is automatically replaced by the
+ * value that did not validate.
+ */
+ public void setErrorMessage(String errorMessage) {
+ this.errorMessage = errorMessage;
+ }
+}