You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/03/26 18:27:42 UTC
svn commit: r758759 - in /incubator/pivot/trunk:
tutorials/src/pivot/tutorials/ wtk/src/pivot/wtk/text/validation/
Author: gbrown
Date: Thu Mar 26 17:27:39 2009
New Revision: 758759
URL: http://svn.apache.org/viewvc?rev=758759&view=rev
Log:
Commit Noel's recent updates to the text validation classes; add a validation example to the Kitchen Sink demo.
Modified:
incubator/pivot/trunk/tutorials/src/pivot/tutorials/text.wtkx
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DecimalValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleRangeValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatRangeValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FormattedValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntRangeValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/RegexTextValidator.java
incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/Validator.java
Modified: incubator/pivot/trunk/tutorials/src/pivot/tutorials/text.wtkx
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/pivot/tutorials/text.wtkx?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/pivot/tutorials/text.wtkx (original)
+++ incubator/pivot/trunk/tutorials/src/pivot/tutorials/text.wtkx Thu Mar 26 17:27:39 2009
@@ -15,7 +15,9 @@
limitations under the License.
-->
-<FlowPane xmlns:wtkx="http://pivot-toolkit.org/wtkx/2008" xmlns="pivot.wtk">
+<FlowPane xmlns:wtkx="http://pivot-toolkit.org/wtkx/2008"
+ xmlns:validation="pivot.wtk.text.validation"
+ xmlns="pivot.wtk">
<Border>
<content>
<FlowPane orientation="vertical" styles="{horizontalAlignment:'justify', padding:{top:2, left:4, bottom:12, right:4}}">
@@ -28,6 +30,14 @@
<TextInput Form.name="Password"
Form.flag="{messageType:'info', message:'This field has a maximum length of 12 characters.'}"
password="true" text="pivot" textSize="12" maximumLength="12" />
+ <TextInput Form.name="Password" Form.flag="{messageType:'info', message:'This field only accepts numeric values from 0 through 9.'}"
+ text="5" textSize="12" maximumLength="6">
+ <validator>
+ <validation:RegexTextValidator>
+ <pattern><![CDATA[[0-9]]]></pattern>
+ </validation:RegexTextValidator>
+ </validator>
+ </TextInput>
</Form.Section>
</sections>
</Form>
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DecimalValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DecimalValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DecimalValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DecimalValidator.java Thu Mar 26 17:27:39 2009
@@ -18,10 +18,12 @@
import java.text.ParseException;
/**
+ * A validator for decimal values.
*
* @author Noel Grandin
*/
public abstract class DecimalValidator extends FormattedValidator<NumberFormat> {
+
protected DecimalValidator(DecimalFormat format) {
super(format);
}
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleRangeValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleRangeValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleRangeValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleRangeValidator.java Thu Mar 26 17:27:39 2009
@@ -14,17 +14,39 @@
package pivot.wtk.text.validation;
/**
+ * A validator for a double value limited to a range.
*
* @author Noel Grandin
*/
public class DoubleRangeValidator extends DoubleValidator {
- private final double minValue, maxValue;
+ private double minValue, maxValue;
+
+ public DoubleRangeValidator() {
+ this.minValue = 0;
+ this.maxValue = 1;
+ }
public DoubleRangeValidator(double minValue, double maxValue) {
this.minValue = minValue;
this.maxValue = maxValue;
}
+ public double getMinimum() {
+ return minValue;
+ }
+
+ public void setMinimum(double minValue) {
+ this.minValue = minValue;
+ }
+
+ public double getMaximum() {
+ return maxValue;
+ }
+
+ public void setMaximum(double maxValue) {
+ this.maxValue = maxValue;
+ }
+
@Override
public boolean isValid(String text) {
boolean valid = false;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/DoubleValidator.java Thu Mar 26 17:27:39 2009
@@ -14,6 +14,7 @@
package pivot.wtk.text.validation;
/**
+ * A validator for a double value.
*
* @author Noel Grandin
*/
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatRangeValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatRangeValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatRangeValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatRangeValidator.java Thu Mar 26 17:27:39 2009
@@ -14,17 +14,39 @@
package pivot.wtk.text.validation;
/**
+ * A validator for a float value limited to a range.
*
* @author Noel Grandin
*/
public class FloatRangeValidator extends FloatValidator {
- private final float minValue, maxValue;
+ private float minValue, maxValue;
+
+ public FloatRangeValidator() {
+ this.minValue = 0;
+ this.maxValue = 1;
+ }
public FloatRangeValidator(float minValue, float maxValue) {
this.minValue = minValue;
this.maxValue = maxValue;
}
+ public float getMinimum() {
+ return minValue;
+ }
+
+ public void setMinimum(float minValue) {
+ this.minValue = minValue;
+ }
+
+ public float getMaximum() {
+ return maxValue;
+ }
+
+ public void setMaximum(float maxValue) {
+ this.maxValue = maxValue;
+ }
+
@Override
public boolean isValid(String text) {
boolean valid = false;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FloatValidator.java Thu Mar 26 17:27:39 2009
@@ -14,6 +14,7 @@
package pivot.wtk.text.validation;
/**
+ * A validator for a float value.
*
* @author Noel Grandin
*/
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FormattedValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FormattedValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FormattedValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/FormattedValidator.java Thu Mar 26 17:27:39 2009
@@ -13,16 +13,20 @@
*/
package pivot.wtk.text.validation;
+import java.text.Format;
import java.text.ParsePosition;
/**
+ * A validator for a {@link java.text.Format}'ed value.
+ * <p>
+ * This class is mostly intended to be a base-class for other validators.
*
* @author Noel Grandin
*/
-public abstract class FormattedValidator<TFormat extends java.text.Format> implements Validator {
- protected final TFormat format;
+public abstract class FormattedValidator<F extends Format> implements Validator {
+ protected final F format;
- protected FormattedValidator(TFormat format) {
+ protected FormattedValidator(F format) {
this.format = format;
}
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntRangeValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntRangeValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntRangeValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntRangeValidator.java Thu Mar 26 17:27:39 2009
@@ -14,17 +14,39 @@
package pivot.wtk.text.validation;
/**
+ * A validator for an int value limited to a range.
*
* @author Noel Grandin
*/
public class IntRangeValidator extends IntValidator {
- private final int minValue, maxValue;
+ private int minValue, maxValue;
+
+ public IntRangeValidator() {
+ this.minValue = 0;
+ this.maxValue = 1;
+ }
public IntRangeValidator(int minValue, int maxValue) {
this.minValue = minValue;
this.maxValue = maxValue;
}
+ public int getMinimum() {
+ return minValue;
+ }
+
+ public void setMinimum(int minValue) {
+ this.minValue = minValue;
+ }
+
+ public int getMaximum() {
+ return maxValue;
+ }
+
+ public void setMaximum(int maxValue) {
+ this.maxValue = maxValue;
+ }
+
@Override
public boolean isValid(String text) {
boolean valid = false;
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/IntValidator.java Thu Mar 26 17:27:39 2009
@@ -14,6 +14,7 @@
package pivot.wtk.text.validation;
/**
+ * A validator for an int value.
*
* @author Noel Grandin
*/
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/RegexTextValidator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/RegexTextValidator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/RegexTextValidator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/RegexTextValidator.java Thu Mar 26 17:27:39 2009
@@ -14,13 +14,19 @@
package pivot.wtk.text.validation;
import java.util.regex.Pattern;
+import java.util.regex.PatternSyntaxException;
/**
+ * A validator for a regular expression.
*
+ * @see Pattern
* @author Noel Grandin
*/
public class RegexTextValidator implements Validator {
- private final Pattern p;
+ private Pattern p;
+
+ public RegexTextValidator() {
+ }
public RegexTextValidator(Pattern p) {
this.p = p;
@@ -30,6 +36,22 @@
this.p = Pattern.compile(regexPattern);
}
+ public Pattern getPattern() {
+ return p;
+ }
+
+ public void setPattern(Pattern pattern) {
+ this.p = pattern;
+ }
+
+ /**
+ * @throws PatternSyntaxException
+ * If the expression's syntax is invalid
+ */
+ public void setPattern(String regexPattern) {
+ this.p = Pattern.compile(regexPattern);
+ }
+
public boolean isValid(String text) {
return p.matcher(text).matches();
}
Modified: incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/Validator.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/Validator.java?rev=758759&r1=758758&r2=758759&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/Validator.java (original)
+++ incubator/pivot/trunk/wtk/src/pivot/wtk/text/validation/Validator.java Thu Mar 26 17:27:39 2009
@@ -14,11 +14,24 @@
package pivot.wtk.text.validation;
/**
- * Validation interface for TextInput widget.
+ * Validation interface for text components. Allows the programmer to specify
+ * constraints on text data.
+ * <p>
+ * This is indicated visually to the user (a red background would be typical),
+ * and events are fired by the TextInput if the programmer wishes to take
+ * further action.
*
* @author Noel Grandin
*/
public interface Validator {
- /** Is the text value valid? */
+ /**
+ * Determines if a text value is valid based on the rules of the
+ * validator.
+ *
+ * @param text
+ *
+ * @return
+ * <tt>true</tt> if the value is valid; <tt>false</tt>, otherwise.
+ */
public boolean isValid(String text);
}