- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Mon, 10 Sep 2012 11:58:33 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/values
In directory hutz:/tmp/cvs-serv13364/values
Modified Files:
CssCheckableValue.java CssLength.java CssNumber.java
Log Message:
tarting the use of range checking in values (useful for CSS3 and onward only)
Index: CssLength.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssLength.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- CssLength.java 7 Sep 2012 20:41:11 -0000 1.13
+++ CssLength.java 10 Sep 2012 11:58:31 -0000 1.14
@@ -7,6 +7,7 @@
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;
+import org.w3c.css.properties.css.CssProperty;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
@@ -89,7 +90,7 @@
* @version $Revision$
* @see CssPercentage
*/
-public class CssLength extends CssValue {
+public class CssLength extends CssCheckableValue {
public static final int type = CssTypes.CSS_LENGTH;
@@ -248,5 +249,47 @@
unit.equals(((CssLength) value).unit));
}
+
+ /**
+ * check if the value is positive or null
+ * @param ac the validation context
+ * @param property the property the value is defined in
+ * @throws InvalidParamException
+ */
+ public void checkPositiveness(ApplContext ac, CssProperty property)
+ throws InvalidParamException {
+ if (!isPositive()) {
+ throw new InvalidParamException("negative-value",
+ toString(), property.getPropertyName(), ac);
+ }
+ }
+
+ /**
+ * check if the value is strictly positive
+ * @param ac the validation context
+ * @param property the property the value is defined in
+ * @throws InvalidParamException
+ */
+ public void checkStrictPositiveness(ApplContext ac, CssProperty property)
+ throws InvalidParamException {
+ if (!isStrictlyPositive()) {
+ throw new InvalidParamException("negative-value",
+ toString(), property.getPropertyName(), ac);
+ }
+ }
+
+ /**
+ * check if the value is an integer
+ * @param ac the validation context
+ * @param property the property the value is defined in
+ * @throws InvalidParamException
+ */
+ public void checkInteger(ApplContext ac, CssProperty property)
+ throws InvalidParamException {
+ }
+
+ public boolean isInteger() {
+ return false;
+ }
}
Index: CssCheckableValue.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssCheckableValue.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- CssCheckableValue.java 10 Sep 2012 11:47:18 -0000 1.1
+++ CssCheckableValue.java 10 Sep 2012 11:58:31 -0000 1.2
@@ -12,13 +12,18 @@
public abstract class CssCheckableValue extends CssValue {
+ abstract boolean isPositive();
+
abstract void checkPositiveness(ApplContext ac, CssProperty property)
throws InvalidParamException;
+ abstract boolean isStrictlyPositive();
+
abstract void checkStrictPositiveness(ApplContext ac, CssProperty property)
throws InvalidParamException;
- abstract boolean isPositive();
+ abstract boolean isInteger();
- abstract boolean isStrictlyPositive();
+ abstract void checkInteger(ApplContext ac, CssProperty property)
+ throws InvalidParamException;
}
Index: CssNumber.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssNumber.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- CssNumber.java 10 Sep 2012 11:47:18 -0000 1.14
+++ CssNumber.java 10 Sep 2012 11:58:31 -0000 1.15
@@ -255,4 +255,18 @@
toString(), property.getPropertyName(), ac);
}
}
+
+ /**
+ * check if the value is an integer
+ * @param ac the validation context
+ * @param property the property the value is defined in
+ * @throws InvalidParamException
+ */
+ public void checkInteger(ApplContext ac, CssProperty property)
+ throws InvalidParamException {
+ if (!isInteger()) {
+ throw new InvalidParamException("integer",
+ toString(), property.getPropertyName(), ac);
+ }
+ }
}
Received on Monday, 10 September 2012 11:58:38 UTC