/*
@ITMillApache2LicenseForJavaFiles@
*/
-package com.vaadin.data.validator;\r
-\r
-/**\r
- * Validator base class for validating strings. See\r
- * {@link com.vaadin.data.validator.AbstractValidator} for more information.\r
- * \r
- * <p>\r
- * If the validation fails, the exception thrown contains the error message with\r
- * its argument 0 replaced with the string 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 AbstractStringValidator extends AbstractValidator {\r
-\r
- /**\r
- * Constructs a validator for strings.\r
- * <p>\r
- * Null and empty string values are always accepted. To disallow empty\r
- * values, set the field being validated as required.\r
- * </p>\r
- * \r
- * @param errorMessage\r
- * the message included in the exception (with its parameter {0}\r
- * replaced by the string to be validated) in case the validation\r
- * fails\r
- */\r
- public AbstractStringValidator(String errorMessage) {\r
- super(errorMessage);\r
- }\r
-\r
- public boolean isValid(Object value) {\r
- if (value == null) {\r
- return true;\r
- }\r
- if (!(value instanceof String)) {\r
- return false;\r
- }\r
- return isValidString((String) value);\r
- }\r
-\r
- /**\r
- * Checks if the given string is valid.\r
- * \r
- * @param value\r
- * String to check. Can never be null.\r
- * @return true if the string is valid, false otherwise\r
- */\r
- protected abstract boolean isValidString(String value);\r
-}\r
+package com.vaadin.data.validator;
+
+/**
+ * Validator base class for validating strings. See
+ * {@link com.vaadin.data.validator.AbstractValidator} for more information.
+ *
+ * <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 AbstractStringValidator extends AbstractValidator {
+
+ /**
+ * Constructs a validator for strings.
+ *
+ * <p>
+ * Null and empty string values are always accepted. To reject empty values,
+ * set the field being validated as required.
+ * </p>
+ *
+ * @param errorMessage
+ * the message to be included in an {@link InvalidValueException}
+ * (with "{0}" replaced by the value that failed validation).
+ * */
+ public AbstractStringValidator(String errorMessage) {
+ super(errorMessage);
+ }
+
+ /**
+ * Tests if the given value is a valid string.
+ * <p>
+ * Null values are always accepted. Values that are not {@link String}s are
+ * always rejected. Uses {@link #isValidString(String)} to validate the
+ * value.
+ * </p>
+ *
+ * @param value
+ * the value to check
+ * @return true if the value is a valid string, false otherwise
+ */
+ public boolean isValid(Object value) {
+ if (value == null) {
+ return true;
+ }
+ if (!(value instanceof String)) {
+ return false;
+ }
+ return isValidString((String) value);
+ }
+
+ /**
+ * Checks if the given string is valid.
+ *
+ * @param value
+ * String to check. Can never be null.
+ * @return true if the string is valid, false otherwise
+ */
+ protected abstract boolean isValidString(String value);
+}