|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.validator.UrlValidator
Validates URLs.
Behavour of validation is modified by passing in options:Originally based in on php script by Debbie Dyer, validation.php v1.2b, Date: 03/07/02, http://javascript.internet.com. However, this validation now bears little resemblance to the php original.
Example of usage: Construct a UrlValidator with valid schemes of "http", and "https". String[] schemes = {"http","https"}. Urlvalidator urlValidator = new Urlvalidator(schemes); if (urlValidator.isValid("ftp")) { System.out.println("url is valid"); } else { System.out.println("url is invalid"); } prints "url is invalid" If instead the default constructor is used. Urlvalidator urlValidator = new Urlvalidator(); if (urlValidator.isValid("ftp")) { System.out.println("url is valid"); } else { System.out.println("url is invalid"); } prints out "url is valid"
Field Summary | |
static int |
ALLOW_2_SLASHES
Allow two slashes in the path component of the URL. |
static int |
ALLOW_ALL_SCHEMES
Allows all validly formatted schemes to pass validation instead of supplying a set of valid schemes. |
private java.util.Set |
allowedSchemes
The set of schemes that are allowed to be in a URL. |
private static java.lang.String |
ALPHA_CHARS
|
private static java.lang.String |
ALPHA_NUMERIC_CHARS
|
private static java.lang.String |
ALPHA_PATTERN
|
private static java.lang.String |
ATOM
|
private static java.lang.String |
ATOM_PATTERN
|
private static java.lang.String |
AUTHORITY_CHARS
|
private static java.lang.String |
AUTHORITY_PATTERN
|
protected java.lang.String[] |
defaultSchemes
If no schemes are provided, default to this set. |
private static java.lang.String |
DOMAIN_PATTERN
|
private static java.lang.String |
IP_V4_DOMAIN_PATTERN
|
private static java.lang.String |
LEGAL_ASCII_PATTERN
|
static int |
NO_FRAGMENTS
Enabling this options disallows any URL fragments. |
private Flags |
options
Holds the set of current validation options. |
private static int |
PARSE_AUTHORITY_EXTRA
Should always be empty. |
private static int |
PARSE_AUTHORITY_HOST_IP
|
private static int |
PARSE_AUTHORITY_PORT
|
private static int |
PARSE_URL_AUTHORITY
Includes hostname/ip and port number. |
private static int |
PARSE_URL_FRAGMENT
|
private static int |
PARSE_URL_PATH
|
private static int |
PARSE_URL_QUERY
|
private static int |
PARSE_URL_SCHEME
Schema/Protocol (ie. |
private static java.lang.String |
PATH_PATTERN
|
private static java.lang.String |
PORT_PATTERN
|
private static java.lang.String |
QUERY_PATTERN
|
private static java.lang.String |
SCHEME_CHARS
|
private static java.lang.String |
SCHEME_PATTERN
Protocol (ie. |
private static java.lang.String |
SPECIAL_CHARS
|
private static java.lang.String |
URL_PATTERN
This expression derived/taken from the BNF for URI (RFC2396). |
private static java.lang.String |
VALID_CHARS
|
Constructor Summary | |
UrlValidator()
Create a UrlValidator with default properties. |
|
UrlValidator(int options)
Initialize a UrlValidator with the given validation options. |
|
UrlValidator(java.lang.String[] schemes)
Behavior of validation is modified by passing in several strings options: |
|
UrlValidator(java.lang.String[] schemes,
int options)
Behavour of validation is modified by passing in options: |
Method Summary | |
protected int |
countToken(java.lang.String token,
java.lang.String target)
Returns the number of times the token appears in the target. |
boolean |
isValid(java.lang.String value)
Checks if a field has a valid url address. |
protected boolean |
isValidAuthority(java.lang.String authority)
Returns true if the authority is properly formatted. |
protected boolean |
isValidFragment(java.lang.String fragment)
Returns true if the given fragment is null or fragments are allowed. |
protected boolean |
isValidPath(java.lang.String path)
Returns true if the path is valid. |
protected boolean |
isValidQuery(java.lang.String query)
Returns true if the query is null or it's a properly formatted query string. |
protected boolean |
isValidScheme(java.lang.String scheme)
Validate scheme. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int ALLOW_ALL_SCHEMES
public static final int ALLOW_2_SLASHES
public static final int NO_FRAGMENTS
private static final java.lang.String ALPHA_CHARS
private static final java.lang.String ALPHA_NUMERIC_CHARS
private static final java.lang.String SPECIAL_CHARS
private static final java.lang.String VALID_CHARS
private static final java.lang.String SCHEME_CHARS
private static final java.lang.String AUTHORITY_CHARS
private static final java.lang.String ATOM
private static final java.lang.String URL_PATTERN
private static final int PARSE_URL_SCHEME
private static final int PARSE_URL_AUTHORITY
private static final int PARSE_URL_PATH
private static final int PARSE_URL_QUERY
private static final int PARSE_URL_FRAGMENT
private static final java.lang.String SCHEME_PATTERN
private static final java.lang.String AUTHORITY_PATTERN
private static final int PARSE_AUTHORITY_HOST_IP
private static final int PARSE_AUTHORITY_PORT
private static final int PARSE_AUTHORITY_EXTRA
private static final java.lang.String PATH_PATTERN
private static final java.lang.String QUERY_PATTERN
private static final java.lang.String LEGAL_ASCII_PATTERN
private static final java.lang.String IP_V4_DOMAIN_PATTERN
private static final java.lang.String DOMAIN_PATTERN
private static final java.lang.String PORT_PATTERN
private static final java.lang.String ATOM_PATTERN
private static final java.lang.String ALPHA_PATTERN
private Flags options
private java.util.Set allowedSchemes
protected java.lang.String[] defaultSchemes
Constructor Detail |
public UrlValidator()
public UrlValidator(java.lang.String[] schemes)
schemes
- Pass in one or more url schemes to consider valid, passing in
a null will default to "http,https,ftp" being valid.
If a non-null schemes is specified then all valid schemes must
be specified. Setting the ALLOW_ALL_SCHEMES option will
ignore the contents of schemes.public UrlValidator(int options)
options
- The options should be set using the public constants declared in
this class. To set multiple options you simply add them together. For example,
ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options.public UrlValidator(java.lang.String[] schemes, int options)
schemes
- The set of valid schemes.options
- The options should be set using the public constants declared in
this class. To set multiple options you simply add them together. For example,
ALLOW_2_SLASHES + NO_FRAGMENTS enables both of those options.Method Detail |
public boolean isValid(java.lang.String value)
Checks if a field has a valid url address.
value
- The value validation is being performed on. A null
value is considered invalid.
protected boolean isValidScheme(java.lang.String scheme)
scheme
- The scheme to validate. A null
value is considered
invalid.
protected boolean isValidAuthority(java.lang.String authority)
null
authority value is considered invalid.
protected boolean isValidPath(java.lang.String path)
null
value is considered invalid.
protected boolean isValidQuery(java.lang.String query)
protected boolean isValidFragment(java.lang.String fragment)
protected int countToken(java.lang.String token, java.lang.String target)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |