Class RegexValidator
- java.lang.Object
-
- org.openstreetmap.josm.data.validation.routines.AbstractValidator
-
- org.openstreetmap.josm.data.validation.routines.RegexValidator
-
public class RegexValidator extends AbstractValidator
Regular Expression validation (using JDK 1.4+ regex support).Construct the validator either for a single regular expression or a set (array) of regular expressions. By default validation is case sensitive but constructors are provided to allow case in-sensitive validation. For example to create a validator which does case in-sensitive validation for a set of regular expressions:
String[] regexs = new String[] {...}; RegexValidator validator = new RegexValidator(regexs, false);
- Validate
true
orfalse
: -
boolean valid = validator.isValid(value);
- Validate returning an aggregated String of the matched groups:
-
String result = validator.validate(value);
- Validate returning the matched groups:
-
String[] result = validator.match(value);
Cached instances pre-compile and re-use
Pattern
(s) - which according to thePattern
API are safe to use in a multi-threaded environment.- Since:
- Validator 1.4
- Version:
- $Revision: 1741724 $
- Validate
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.regex.Pattern[]
patterns
-
Constructor Summary
Constructors Constructor Description RegexValidator(java.lang.String regex)
Construct a case sensitive validator for a single regular expression.RegexValidator(java.lang.String... regexs)
Construct a case sensitive validator that matches any one of the set of regular expressions.RegexValidator(java.lang.String[] regexs, boolean caseSensitive)
Construct a validator that matches any one of the set of regular expressions with the specified case sensitivity.RegexValidator(java.lang.String regex, boolean caseSensitive)
Construct a validator for a single regular expression with the specified case sensitivity.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getValidatorName()
Returns the name of this validatorboolean
isValid(java.lang.String value)
Validate a value against the set of regular expressions.java.lang.String[]
match(java.lang.String value)
Validate a value against the set of regular expressions returning the array of matched groups.java.lang.String
toString()
Provide a String representation of this validator.java.lang.String
validate(java.lang.String value)
Validate a value against the set of regular expressions returning a String value of the aggregated groups.-
Methods inherited from class org.openstreetmap.josm.data.validation.routines.AbstractValidator
getErrorMessage, setErrorMessage
-
-
-
-
Field Detail
-
patterns
private final java.util.regex.Pattern[] patterns
-
-
Constructor Detail
-
RegexValidator
public RegexValidator(java.lang.String regex)
Construct a case sensitive validator for a single regular expression.- Parameters:
regex
- The regular expression this validator will validate against
-
RegexValidator
public RegexValidator(java.lang.String regex, boolean caseSensitive)
Construct a validator for a single regular expression with the specified case sensitivity.- Parameters:
regex
- The regular expression this validator will validate againstcaseSensitive
- whentrue
matching is case sensitive, otherwise matching is case in-sensitive
-
RegexValidator
public RegexValidator(java.lang.String... regexs)
Construct a case sensitive validator that matches any one of the set of regular expressions.- Parameters:
regexs
- The set of regular expressions this validator will validate against
-
RegexValidator
public RegexValidator(java.lang.String[] regexs, boolean caseSensitive)
Construct a validator that matches any one of the set of regular expressions with the specified case sensitivity.- Parameters:
regexs
- The set of regular expressions this validator will validate againstcaseSensitive
- whentrue
matching is case sensitive, otherwise matching is case in-sensitive
-
-
Method Detail
-
isValid
public boolean isValid(java.lang.String value)
Validate a value against the set of regular expressions.- Specified by:
isValid
in classAbstractValidator
- Parameters:
value
- The value to validate.- Returns:
true
if the value is valid otherwisefalse
.
-
getValidatorName
public java.lang.String getValidatorName()
Description copied from class:AbstractValidator
Returns the name of this validator- Specified by:
getValidatorName
in classAbstractValidator
- Returns:
- the name of this validator
-
match
public java.lang.String[] match(java.lang.String value)
Validate a value against the set of regular expressions returning the array of matched groups.- Parameters:
value
- The value to validate.- Returns:
- String array of the groups matched if
valid or
null
if invalid
-
validate
public java.lang.String validate(java.lang.String value)
Validate a value against the set of regular expressions returning a String value of the aggregated groups.- Parameters:
value
- The value to validate.- Returns:
- Aggregated String value comprised of the
groups matched if valid or
null
if invalid
-
toString
public java.lang.String toString()
Provide a String representation of this validator.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A String representation of this validator
-
-