You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2007/09/14 16:41:15 UTC
svn commit: r575705 [2/2] - in
/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation: ./
validator/
Modified: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java?rev=575705&r1=575704&r2=575705&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java (original)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/UrlValidator.java Fri Sep 14 07:41:14 2007
@@ -25,53 +25,52 @@
import org.apache.wicket.validation.IValidatable;
/**
+ * Validator for checking URLs. The default schemes allowed are
+ * <code>http://</code>, <code>https://</code>, and <code>ftp://</code>.
* <p>
- * Urls validator
- * </p>
+ * The behavior of validation is modified by passing in one of these options:
* <p>
- * Default alowed schemes accepted are <code>http://, https://, ftp://</code>.
- * </p>
- * Behavour of validation is modified by passing in options:
- * <li>ALLOW_2_SLASHES - [FALSE] Allows double '/' characters in the path
- * component.</li>
- * <li>NO_FRAGMENT- [FALSE] By default fragments are allowed, if this option is
- * included then fragments are flagged as illegal.</li>
- * <li>ALLOW_ALL_SCHEMES - [FALSE] By default only http, https, and ftp are
- * considered valid schemes. Enabling this option will let any scheme pass
- * validation.</li>
- *
+ * <ul>
+ * <li><code>ALLOW_2_SLASHES - [FALSE]</code>: Allows double '/' characters
+ * in the path component.</li>
+ * <li><code>NO_FRAGMENT- [FALSE]</code>: By default fragments are allowed.
+ * If this option is included then fragments are flagged as illegal.</li>
+ * <li><code>ALLOW_ALL_SCHEMES - [FALSE]</code>: By default only http,
+ * https, and ftp are considered valid schemes. Enabling this option will let
+ * any scheme pass validation.</li>
+ * </ul>
+ * <p>
+ * This was originally based
+ * <code>org.apache.commons.validator.UrlValidator</code>, but the dependency
+ * on Jakarta-ORO was removed and it now uses java.util.regexp instead. Usage
+ * example:
* <p>
- * Originally based org.apache.commons.validator.UrlValidator. Remove dependency
- * on Oro and use java.util.regexp instead
- * </p>
* <pre>
- * Usage :
- * component.add(new UrlValidator({"http", "https"}));
+ * <code>Component.add(new UrlValidator({"http", "https"}));</code>
* </pre>
*
+ * @author Vincent Demay
+ * @since 1.2.6
* @see <a href='http://www.ietf.org/rfc/rfc2396.txt' > Uniform Resource
* Identifiers (URI): Generic Syntax </a>
- *
- * @author Vincent Demay
- *
*/
public class UrlValidator extends AbstractValidator
{
private static final long serialVersionUID = 1L;
/**
- * Allows all validly formatted schemes to pass validation instead of
+ * Allows all validly-formatted schemes to pass validation instead of
* supplying a set of valid schemes.
*/
public static final int ALLOW_ALL_SCHEMES = 1 << 0;
/**
- * Allow two slashes in the path component of the URL.
+ * Allow two slashes in the path component of the <code>URL</code>.
*/
public static final int ALLOW_2_SLASHES = 1 << 1;
/**
- * Enabling this options disallows any URL fragments.
+ * Enabling this option disallows any <code>URL</code> fragments.
*/
public static final int NO_FRAGMENTS = 1 << 2;
@@ -97,12 +96,13 @@
// 12 3 4 5 6 7 8 9
/**
- * Schema/Protocol (ie. http:, ftp:, file:, etc).
+ * Schema / Protocol (<code>http:</code>, <code>ftp:</code>,
+ * <code>file:</code>, etc).
*/
private static final int PARSE_URL_SCHEME = 2;
/**
- * Includes hostname/ip and port number.
+ * Includes hostname / ip and port number.
*/
private static final int PARSE_URL_AUTHORITY = 4;
@@ -113,7 +113,7 @@
private static final int PARSE_URL_FRAGMENT = 9;
/**
- * Protocol (ie. http:, ftp:,https:).
+ * Protocol (<code>http:</code>, <code>ftp:</code>, or <code>https:</code>).
*/
private static final String SCHEME_PATTERN = "^[" + SCHEME_CHARS + "].*$";
@@ -156,12 +156,12 @@
private Set allowedSchemes = new HashSet();
/**
- * If no schemes are provided, default to this set.
+ * If no schemes are provided, default to this set of protocols.
*/
protected String[] defaultSchemes = { "http", "https", "ftp" };
/**
- * Create a UrlValidator with default properties.
+ * Constructs a <code>UrlValidator</code> with default properties.
*/
public UrlValidator()
{
@@ -169,14 +169,18 @@
}
/**
- * Behavior of validation is modified by passing in several strings options:
+ * Constructs a <code>UrlValidator</code> with the given
+ * <code>String</code> array of scheme options. The validation is modified
+ * by passing in options in the <code>schemes</code> argument.
*
* @param 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.
+ * Pass in one or more <code>URL</code> schemes to consider
+ * valid. Passing in a <code>null</code> will default to
+ * "<code>http,https,ftp</code>"
+ * being used. If a non-<code>null</code> scheme is specified,
+ * then all valid schemes must be specified. Setting the
+ * <code>ALLOW_ALL_SCHEMES</code> option will ignore the
+ * contents of <code>schemes</code>.
*/
public UrlValidator(String[] schemes)
{
@@ -184,13 +188,14 @@
}
/**
- * Initialize a UrlValidator with the given validation options.
+ * Constructs a <code>UrlValidator</code> with the given validation
+ * options.
*
* @param 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.
+ * together. For example, <code>ALLOW_2_SLASHES</code> +
+ * <code>NO_FRAGMENTS</code> enables both of those options.
*/
public UrlValidator(int options)
{
@@ -198,15 +203,23 @@
}
/**
- * Behavour of validation is modified by passing in options:
+ * Constructs a <code>UrlValidator</code> with the given scheme and
+ * validation options (see class description).
*
* @param schemes
- * The set of valid schemes.
+ * Pass in one or more <code>URL</code> schemes to consider
+ * valid. Passing in a <code>null</code> will default to
+ * "<code>http,https,ftp</code>"
+ * being used. If a non-<code>null</code> scheme is specified,
+ * then all valid schemes must be specified. Setting the
+ * <code>ALLOW_ALL_SCHEMES</code> option will ignore the
+ * contents of <code>schemes</code>.
* @param 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.
+ * together. For example, <code>ALLOW_2_SLASHES</code> +
+ * <code>NO_FRAGMENTS</code> enables both of those options.
+ *
*/
public UrlValidator(String[] schemes, int options)
{
@@ -225,6 +238,9 @@
this.allowedSchemes.addAll(Arrays.asList(schemes));
}
+ /**
+ * @see AbstractValidator#onValidate(IValidatable)
+ */
protected void onValidate(IValidatable validatable)
{
String url = (String)validatable.getValue();
@@ -234,17 +250,13 @@
}
/**
- * <p>
- * Checks if a field has a valid url address.
- * </p>
- * <p>
- * This method is public because it is directly used in tests.
- * </p>
+ * Checks if a field has a valid <code>URL</code>. This method is public
+ * because it is directly used in tests.
*
* @param value
* The value validation is being performed on. A
* <code>null</code> value is considered invalid.
- * @return true if the url is valid.
+ * @return <code>true</code> if the <code>URL</code> is valid
*/
public final boolean isValid(String value)
{
@@ -297,14 +309,14 @@
}
/**
- * Validate scheme. If schemes[] was initialized to a non null, then only
- * those scheme's are allowed. Note this is slightly different than for the
- * constructor.
+ * Validates a scheme. If schemes[] was initialized to non-<code>null</code>,
+ * then only those schemes are allowed. Note that this is slightly different
+ * than for the constructor.
*
* @param scheme
* The scheme to validate. A <code>null</code> value is
* considered invalid.
- * @return true if valid.
+ * @return <code>true</code> if the <code>URL</code> is valid
*/
protected boolean isValidScheme(String scheme)
{
@@ -331,13 +343,13 @@
}
/**
- * Returns true if the authority is properly formatted. An authority is the
- * combination of hostname and port. A <code>null</code> authority value
- * is considered invalid.
+ * Returns <code>true</code> if the authority is properly formatted. An
+ * authority is the combination of host name and port. A <code>null</code>
+ * authority value is considered invalid.
*
* @param authority
- * Authority value to validate.
- * @return true if authority (hostname and port) is valid.
+ * an authority value to validate
+ * @return true if authority (host name and port) is valid.
*/
protected boolean isValidAuthority(String authority)
{
@@ -472,12 +484,12 @@
}
/**
- * Returns true if the path is valid. A <code>null</code> value is
- * considered invalid.
+ * Returns <code>true</code> if the path is valid. A <code>null</code>
+ * value is considered invalid.
*
* @param path
- * Path value to validate.
- * @return true if path is valid.
+ * a path value to validate.
+ * @return <code>true</code> if path is valid.
*/
protected boolean isValidPath(String path)
{
@@ -513,12 +525,12 @@
}
/**
- * Returns true if the query is null or it's a properly formatted query
- * string.
+ * Returns <code>true</code> if the query is <code>null</code> or if
+ * it's a properly-formatted query string.
*
* @param query
- * Query value to validate.
- * @return true if query is valid.
+ * a query value to validate
+ * @return <code>true</code> if the query is valid
*/
protected boolean isValidQuery(String query)
{
@@ -532,11 +544,12 @@
}
/**
- * Returns true if the given fragment is null or fragments are allowed.
+ * Returns <code>true</code> if the given fragment is <code>null</code>
+ * or fragments are allowed.
*
* @param fragment
- * Fragment value to validate.
- * @return true if fragment is valid.
+ * a fragment value to validate
+ * @return <code>true</code> if the fragment is valid
*/
protected boolean isValidFragment(String fragment)
{
@@ -552,10 +565,10 @@
* Returns the number of times the token appears in the target.
*
* @param token
- * Token value to be counted.
+ * a token value to be counted
* @param target
- * Target value to count tokens in.
- * @return the number of tokens.
+ * a target <code>String</code> to count tokens in
+ * @return the number of tokens
*/
protected int countToken(String token, String target)
{
@@ -574,33 +587,26 @@
}
/**
- * <p>
- * Checks if the field isn't null and length of the field is greater than
- * zero not including whitespace.
- * </p>
+ * Checks if the field isn't <code>null</code> and if length of the field
+ * is greater than zero, not including whitespace.
*
* @param value
- * The value validation is being performed on.
- * @return true if blank or null.
+ * the value validation is being performed on
+ * @return <code>true</code> if blank or <code>null</code>
*/
public static boolean isBlankOrNull(String value)
{
return ((value == null) || (value.trim().length() == 0));
}
-
// Flag Management
/**
* Tests whether the given flag is on. If the flag is not a power of 2 (ie.
* 3) this tests whether the combination of flags is on.
*
- * @param flags
- * list
* @param flag
- * Flag value to check.
- *
- *
- * @return whether the specified flag value is on.
+ * flag value to check
+ * @return whether the specified flag value is on
*/
public boolean isOn(long flag)
{
@@ -612,9 +618,8 @@
* 3) this tests whether the combination of flags is off.
*
* @param flag
- * Flag value to check.
- *
- * @return whether the specified flag value is off.
+ * flag value to check.
+ * @return whether the specified flag value is off
*/
public boolean isOff(long flag)
{
Added: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/package.html
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/package.html?rev=575705&view=auto
==============================================================================
--- wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/package.html (added)
+++ wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/package.html Fri Sep 14 07:41:14 2007
@@ -0,0 +1,30 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 3.2 Final//NL">
+<html>
+ <head>
+ <title>
+ org.apache.wicket.validation.validator package
+ </title>
+ </head>
+ <body>
+ <p>
+ This package provides an implementation of Wicket's
+ validation support.
+ </p>
+ </body>
+</html>
Propchange: wicket/trunk/jdk-1.4/wicket/src/main/java/org/apache/wicket/validation/validator/package.html
------------------------------------------------------------------------------
svn:mime-type = text/plain