- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 25 Mar 2008 18:30:14 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/values
In directory hutz:/tmp/cvs-serv29386
Modified Files:
ATSCColor.java CssAngle.java CssColor.java CssColorCSS1.java
CssColorCSS2.java CssColorCSS21.java CssDate.java
CssExpression.java CssFrequency.java CssIdent.java
CssLength.java CssNumber.java CssPercentage.java
CssResolution.java CssString.java CssTime.java CssURL.java
CssUnicodeRange.java CssValue.java RGB.java
Added Files:
CssTypes.java
Log Message:
Various bug fixes + getTypes for more readable switch statements in some other constructions
Index: CssResolution.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssResolution.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CssResolution.java 8 Sep 2005 12:24:10 -0000 1.3
+++ CssResolution.java 25 Mar 2008 18:30:11 -0000 1.4
@@ -24,6 +24,12 @@
*/
public class CssResolution extends CssValue {
+ public static final int type = CssTypes.CSS_RESOLUTION;
+
+ public final int getType() {
+ return type;
+ }
+
/**
* Create a new CssResolution
*/
Index: CssColorCSS2.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS2.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- CssColorCSS2.java 15 May 2007 06:06:45 -0000 1.10
+++ CssColorCSS2.java 25 Mar 2008 18:30:11 -0000 1.11
@@ -6,7 +6,7 @@
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;
-import java.util.Hashtable;
+import java.util.HashMap;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
@@ -161,11 +161,6 @@
*/
public class CssColorCSS2 extends CssColor {
- Object color;
- RGB rgb;
- static Hashtable definedColors;
- static CssIdent inherit = new CssIdent("inherit");
-
/**
* Create a new CssColorCSS2.
*/
@@ -185,171 +180,6 @@
}
/**
- * Set the value from a defined color RBG.
- *
- * @param s the string representation of the color.
- * @exception InvalidParamException the color is incorrect.
- */
- public void set(String s, ApplContext ac) throws InvalidParamException {
- if (s.startsWith("#")) {
- setShortRGBColor(s.toLowerCase(), ac);
- } else {
- setIdentColor(s, ac);
- }
- }
-
- /**
- * Return the internal value.
- */
- public Object get() {
- if (color != null) {
- if (color == inherit) {
- return null;
- } else {
- return color;
- }
- } else {
- return rgb.r;
- }
- }
-
- /**
- * Returns <code>true</code> if the internal value is the default value
- * (e.g. 'inherited').
- */
- public boolean isDefault() {
- return color == inherit;
- }
-
- /**
- * Returns a string representation of the object.
- */
- public String toString() {
- if (color != null) {
- if (color == inherit) {
- return inherit.toString();
- } else {
- return color.toString();
- }
- } else {
- return rgb.toString();
- }
- }
-
- /**
- * Parse a RGB color.
- * format rgb(<num>%?, <num>%?, <num>%?)
- */
- public void setRGBColor(CssExpression exp, ApplContext ac)
- throws InvalidParamException {
- CssValue val = exp.getValue();
- char op = exp.getOperator();
- color = null;
- rgb = new RGB();
-
- if (val == null || op != COMMA) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- CssNumber number = (CssNumber) val;
- rgb.r = clippedIntValue(number.getInt(), ac);
- rgb.setPercent(false);
- } else if (val instanceof CssPercentage) {
- rgb.r = clippedPercentValue(((Float) val.get()).floatValue(), ac);
- rgb.setPercent(true);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- val = exp.getValue();
- op = exp.getOperator();
-
- if (val == null || op != COMMA) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- CssNumber number = (CssNumber) val;
- if (rgb.isPercent()) {
- throw new InvalidParamException("percent", val, ac);
- }
- rgb.g = clippedIntValue(number.getInt(), ac);
- } else if (val instanceof CssPercentage) {
- if (!rgb.isPercent()) {
- throw new InvalidParamException("integer", val, ac);
- }
- rgb.g = clippedPercentValue(((Float) val.get()).floatValue(), ac);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- val = exp.getValue();
- op = exp.getOperator();
-
- if (val == null) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- CssNumber number = (CssNumber) val;
- if (rgb.isPercent()) {
- throw new InvalidParamException("percent", val, ac);
- }
- rgb.b = clippedIntValue(number.getInt(), ac);
- } else if (val instanceof CssPercentage) {
- if (!rgb.isPercent()) {
- throw new InvalidParamException("integer", val, ac);
- }
- rgb.b = clippedPercentValue(((Float) val.get()).floatValue(), ac);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- if (exp.getValue() != null) {
- throw new InvalidParamException("rgb", exp.getValue(), ac);
- }
- }
-
- /**
- * Parse a RGB color.
- * format #(3-6)<hexnum>
- */
- private void setShortRGBColor(String s, ApplContext ac)
- throws InvalidParamException {
- int r;
- int g;
- int b;
-
- rgb = new RGB();
- color = null;
- s = s.substring(1);
-
- if (s.length() != 3 && s.length() != 6) {
- throw new InvalidParamException("rgb", s, ac);
- }
- if (s.length() == 3) {
- String sh = s.substring(0,1);
- r = Integer.parseInt(sh+sh, 16);
- sh = s.substring(1,2);
- g = Integer.parseInt(sh+sh, 16);
- sh = s.substring(2,3);
- b = Integer.parseInt(sh+sh, 16);
- } else {
- r = Integer.parseInt(s.substring(0,2), 16);
- g = Integer.parseInt(s.substring(2,4), 16);
- b = Integer.parseInt(s.substring(4,6), 16);
- }
- rgb.r = new Integer(r);
- rgb.g = new Integer(g);
- rgb.b = new Integer(b);
- rgb.output = "#" + s;
- }
-
- /**
* Parse an ident color.
*/
private void setIdentColor(String s, ApplContext ac)
@@ -375,125 +205,40 @@
throw new InvalidParamException("value", s, "color", ac);
}
- private static Integer clippedIntValue(int rgb, ApplContext ac) {
- if (rgb < 0 || rgb > 255) {
- ac.getFrame().addWarning("out-of-range", Util.displayFloat(rgb));
- return new Integer((rgb<0)?0:255);
- }
- else return(new Integer(rgb));
- }
-
- private static Float clippedPercentValue(float p, ApplContext ac) {
- if (p < 0. || p > 100.) {
- ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
- return new Float((p<0.)?0.:100.);
- }
- else return(new Float(p));
- }
-
- /**
- * Compares two values for equality.
- *
- * @param value The other value.
- */
- public boolean equals(Object cssColor) {
- return ((cssColor instanceof CssColorCSS2) &&
- ((color != null && color.equals(((CssColorCSS2) cssColor).color))
- || ((color == null)
- && (rgb != null)
- && (((CssColorCSS2) cssColor).rgb != null)
- && (rgb.r.equals(((CssColorCSS2) cssColor).rgb.r)
- && rgb.g.equals(((CssColorCSS2) cssColor).rgb.g)
- && rgb.b.equals(((CssColorCSS2) cssColor).rgb.b)))));
- }
-
- /**
- * Gets the red component of this color.
- */
- public Object getRed() {
- return rgb.r;
- }
-
- /**
- * Gets the green component of this color.
- */
- public Object getGreen() {
- return rgb.g;
- }
-
- /**
- * Gets the blue component of this color.
- */
- public Object getBlue() {
- return rgb.b;
- }
-
static {
- definedColors = new Hashtable();
+ definedColors = new HashMap<String,Object>();
definedColors.put("black",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(0)));
+ new RGB(0, 0, 0));
definedColors.put("silver",
- new RGB(new Integer(192),
- new Integer(192),
- new Integer(192)));
+ new RGB(192, 192, 192));
definedColors.put("gray",
- new RGB(new Integer(128),
- new Integer(128),
- new Integer(128)));
+ new RGB(128, 128, 128));
definedColors.put("white",
- new RGB(new Integer(255),
- new Integer(255),
- new Integer(255)));
+ new RGB(255, 255, 255));
definedColors.put("maroon",
- new RGB(new Integer(128),
- new Integer(0),
- new Integer(0)));
+ new RGB(128, 0, 0));
definedColors.put("red",
- new RGB(new Integer(255),
- new Integer(0),
- new Integer(0)));
+ new RGB(255, 0, 0));
definedColors.put("purple",
- new RGB(new Integer(128),
- new Integer(0),
- new Integer(128)));
+ new RGB(128, 0, 128));
definedColors.put("fuchsia",
- new RGB(new Integer(255),
- new Integer(0),
- new Integer(255)));
+ new RGB(255, 0, 255));
definedColors.put("green",
- new RGB(new Integer(0),
- new Integer(128),
- new Integer(0)));
+ new RGB(0, 128, 0));
definedColors.put("lime",
- new RGB(new Integer(0),
- new Integer(255),
- new Integer(0)));
+ new RGB(0, 255, 0));
definedColors.put("olive",
- new RGB(new Integer(128),
- new Integer(128),
- new Integer(0)));
+ new RGB(128, 128, 0));
definedColors.put("yellow",
- new RGB(new Integer(255),
- new Integer(255),
- new Integer(0)));
+ new RGB(255, 255, 0));
definedColors.put("navy",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(128)));
+ new RGB(0, 0, 128));
definedColors.put("blue",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(255)));
+ new RGB(0, 0, 255));
definedColors.put("teal",
- new RGB(new Integer(0),
- new Integer(128),
- new Integer(128)));
+ new RGB(0, 128, 128));
definedColors.put("aqua",
- new RGB(new Integer(0),
- new Integer(255),
- new Integer(255)));
+ new RGB(0, 255, 255));
definedColors.put("activeborder", "ActiveBorder");
definedColors.put("activecaption", "ActiveCaption");
definedColors.put("appworkspace", "AppWorkspace");
Index: CssColorCSS1.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS1.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- CssColorCSS1.java 15 May 2007 06:06:45 -0000 1.9
+++ CssColorCSS1.java 25 Mar 2008 18:30:11 -0000 1.10
@@ -6,7 +6,7 @@
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;
-import java.util.Hashtable;
+import java.util.HashMap;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
@@ -161,11 +161,6 @@
*/
public class CssColorCSS1 extends CssColor {
- Object color;
- RGB rgb;
- static Hashtable definedColors;
- static CssIdent inherit = new CssIdent("inherit");
-
/**
* Create a new CssColorCSS1
*/
@@ -185,171 +180,6 @@
}
/**
- * Set the value from a defined color RBG.
- *
- * @param s the string representation of the color.
- * @exception InvalidParamException the color is incorrect.
- */
- public void set(String s, ApplContext ac) throws InvalidParamException {
- if (s.startsWith("#")) {
- setShortRGBColor(s.toLowerCase(), ac);
- } else {
- setIdentColor(s, ac);
- }
- }
-
- /**
- * Return the internal value.
- */
- public Object get() {
- if (color != null) {
- if (color == inherit) {
- return null;
- } else {
- return color;
- }
- } else {
- return rgb.r;
- }
- }
-
- /**
- * Returns <code>true</code> if the internal value is the default value
- * (e.g. 'inherited').
- */
- public boolean isDefault() {
- return color == inherit;
- }
-
- /**
- * Returns a string representation of the object.
- */
- public String toString() {
- if (color != null) {
- if (color == inherit) {
- return inherit.toString();
- } else {
- return color.toString();
- }
- } else {
- return rgb.toString();
- }
- }
-
- /**
- * Parse a RGB color.
- * format rgb(<num>%?, <num>%?, <num>%?)
- */
- public void setRGBColor(CssExpression exp, ApplContext ac)
- throws InvalidParamException {
- CssValue val = exp.getValue();
- char op = exp.getOperator();
- color = null;
- rgb = new RGB();
-
- if (val == null || op != COMMA) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- CssNumber number = (CssNumber) val;
- rgb.r = clippedIntValue(number.getInt(), ac);
- rgb.setPercent(false);
- } else if (val instanceof CssPercentage) {
- rgb.r = clippedPercentValue(((Float) val.get()).floatValue(), ac);
- rgb.setPercent(true);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- val = exp.getValue();
- op = exp.getOperator();
-
- if (val == null || op != COMMA) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- CssNumber number = (CssNumber) val;
- if (rgb.isPercent()) {
- throw new InvalidParamException("percent", val, ac);
- }
- rgb.g = clippedIntValue(number.getInt(), ac);
- } else if (val instanceof CssPercentage) {
- if (!rgb.isPercent()) {
- throw new InvalidParamException("integer", val, ac);
- }
- rgb.g = clippedPercentValue(((Float) val.get()).floatValue(), ac);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- val = exp.getValue();
- op = exp.getOperator();
-
- if (val == null) {
- throw new InvalidParamException("invalid-color", ac);
- }
-
- if (val instanceof CssNumber) {
- if (rgb.isPercent()) {
- throw new InvalidParamException("percent", val, ac);
- }
- rgb.b = clippedIntValue(((Float) val.get()).intValue(), ac);
- } else if (val instanceof CssPercentage) {
- CssNumber number = (CssNumber) val;
- if (rgb.isPercent()) {
- throw new InvalidParamException("percent", val, ac);
- }
- rgb.b = clippedPercentValue(number.getInt(), ac);
- } else {
- throw new InvalidParamException("rgb", val, ac);
- }
-
- exp.next();
- if (exp.getValue() != null) {
- throw new InvalidParamException("rgb", exp.getValue(), ac);
- }
- }
-
- /**
- * Parse a RGB color.
- * format #(3-6)<hexnum>
- */
- private void setShortRGBColor(String s, ApplContext ac)
- throws InvalidParamException {
- int r;
- int g;
- int b;
-
- rgb = new RGB();
- color = null;
- s = s.substring(1);
-
- if (s.length() != 3 && s.length() != 6) {
- throw new InvalidParamException("rgb", s, ac);
- }
- if (s.length() == 3) {
- String sh = s.substring(0,1);
- r = Integer.parseInt(sh+sh, 16);
- sh = s.substring(1,2);
- g = Integer.parseInt(sh+sh, 16);
- sh = s.substring(2,3);
- b = Integer.parseInt(sh+sh, 16);
- } else {
- r = Integer.parseInt(s.substring(0,2), 16);
- g = Integer.parseInt(s.substring(2,4), 16);
- b = Integer.parseInt(s.substring(4,6), 16);
- }
- rgb.r = new Integer(r);
- rgb.g = new Integer(g);
- rgb.b = new Integer(b);
- rgb.output = "#" + s;
- }
-
- /**
* Parse an ident color.
*/
private void setIdentColor(String s, ApplContext ac)
@@ -375,125 +205,40 @@
throw new InvalidParamException("value", s, "color", ac);
}
- private static Integer clippedIntValue(int rgb, ApplContext ac) {
- if (rgb < 0 || rgb > 255) {
- ac.getFrame().addWarning("out-of-range", Util.displayFloat(rgb));
- return new Integer((rgb<0)?0:255);
- }
- else return(new Integer(rgb));
- }
-
- private static Float clippedPercentValue(float p, ApplContext ac) {
- if (p < 0. || p > 100.) {
- ac.getFrame().addWarning("out-of-range", Util.displayFloat(p));
- return new Float((p<0.)?0.:100.);
- }
- else return(new Float(p));
- }
-
- /**
- * Compares two values for equality.
- *
- * @param value The other value.
- */
- public boolean equals(Object cssColor) {
- return ((cssColor instanceof CssColorCSS1) &&
- ((color != null && color.equals(((CssColorCSS1) cssColor).color))
- || ((color == null)
- && (rgb != null)
- && (((CssColorCSS1) cssColor).rgb != null)
- && (rgb.r.equals(((CssColorCSS1) cssColor).rgb.r)
- && rgb.g.equals(((CssColorCSS1) cssColor).rgb.g)
- && rgb.b.equals(((CssColorCSS1) cssColor).rgb.b)))));
- }
-
- /**
- * Gets the red component of this color.
- */
- public Object getRed() {
- return rgb.r;
- }
-
- /**
- * Gets the green component of this color.
- */
- public Object getGreen() {
- return rgb.g;
- }
-
- /**
- * Gets the blue component of this color.
- */
- public Object getBlue() {
- return rgb.b;
- }
-
static {
- definedColors = new Hashtable();
+ definedColors = new HashMap<String,Object>();
definedColors.put("black",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(0)));
+ new RGB(0, 0, 0));
definedColors.put("silver",
- new RGB(new Integer(192),
- new Integer(192),
- new Integer(192)));
+ new RGB(192, 192, 192));
definedColors.put("gray",
- new RGB(new Integer(128),
- new Integer(128),
- new Integer(128)));
+ new RGB(128, 128, 128));
definedColors.put("white",
- new RGB(new Integer(255),
- new Integer(255),
- new Integer(255)));
+ new RGB(255, 255, 255));
definedColors.put("maroon",
- new RGB(new Integer(128),
- new Integer(0),
- new Integer(0)));
+ new RGB(128, 0, 0));
definedColors.put("red",
- new RGB(new Integer(255),
- new Integer(0),
- new Integer(0)));
+ new RGB(255, 0, 0));
definedColors.put("purple",
- new RGB(new Integer(128),
- new Integer(0),
- new Integer(128)));
+ new RGB(128, 0, 128));
definedColors.put("fuchsia",
- new RGB(new Integer(255),
- new Integer(0),
- new Integer(255)));
+ new RGB(255, 0, 255));
definedColors.put("green",
- new RGB(new Integer(0),
- new Integer(128),
- new Integer(0)));
+ new RGB(0, 128, 0));
definedColors.put("lime",
- new RGB(new Integer(0),
- new Integer(255),
- new Integer(0)));
+ new RGB(0, 255, 0));
definedColors.put("olive",
- new RGB(new Integer(128),
- new Integer(128),
- new Integer(0)));
+ new RGB(128, 128, 0));
definedColors.put("yellow",
- new RGB(new Integer(255),
- new Integer(255),
- new Integer(0)));
+ new RGB(255, 255, 0));
definedColors.put("navy",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(128)));
+ new RGB(0, 0, 128));
definedColors.put("blue",
- new RGB(new Integer(0),
- new Integer(0),
- new Integer(255)));
+ new RGB(0, 0, 255));
definedColors.put("teal",
- new RGB(new Integer(0),
- new Integer(128),
- new Integer(128)));
+ new RGB(0, 128, 128));
definedColors.put("aqua",
- new RGB(new Integer(0),
- new Integer(255),
- new Integer(255)));
+ new RGB(0, 255, 255));
}
}
Index: CssURL.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssURL.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssURL.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssURL.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -48,7 +48,14 @@
*/
public class CssURL extends CssValue {
+ public static final int type = CssTypes.CSS_URL;
+
+ public final int getType() {
+ return type;
+ }
+
String value;
+ String full = null;
URL base;
@@ -79,14 +86,14 @@
String urlname = s.substring(4, s.length()-1).trim();
this.base = base;
- try {
- CssString convert = new CssString();
- convert.set(urlname, ac);
- value = (String) convert.get();
- } catch (InvalidParamException e) {
+// try {
+// CssString convert = new CssString();
+// convert.set(urlname, ac);
+// value = (String) convert.get();
+// } catch (InvalidParamException e) {
value = urlname;
- }
-
+ full = null;
+// }
if (!urlHeading.startsWith("url"))
throw new InvalidParamException("url", s, ac);
}
@@ -109,7 +116,12 @@
* Returns a string representation of the object.
*/
public String toString() {
- return "url(" + value + ")";
+ if (full != null) {
+ return full;
+ }
+ StringBuilder sb = new StringBuilder("url(");
+ sb.append(value).append(')');
+ return full = sb.toString();
}
/**
Index: CssUnicodeRange.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssUnicodeRange.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- CssUnicodeRange.java 14 Sep 2005 15:15:33 -0000 1.4
+++ CssUnicodeRange.java 25 Mar 2008 18:30:12 -0000 1.5
@@ -14,6 +14,12 @@
*/
public class CssUnicodeRange extends CssValue {
+ public static final int type = CssTypes.CSS_UNICODE_RANGE;
+
+ public final int getType() {
+ return type;
+ }
+
String value;
/**
Index: CssValue.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssValue.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssValue.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssValue.java 25 Mar 2008 18:30:12 -0000 1.6
@@ -14,8 +14,14 @@
*/
public abstract class CssValue {
+ public static int type = CssTypes.CSS_UNKNOWN;
+
String cssversion;
+ public int getType() {
+ return type;
+ }
+
/**
* Set the value of this value.
*
Index: CssIdent.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssIdent.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssIdent.java 20 Mar 2008 16:51:17 -0000 1.6
+++ CssIdent.java 25 Mar 2008 18:30:11 -0000 1.7
@@ -13,8 +13,14 @@
*/
public class CssIdent extends CssValue {
+ public static final int type = CssTypes.CSS_IDENT;
+
private int hashcode = 0;
+ public final int getType() {
+ return type;
+ }
+
/**
* Create a new CssIdent
*/
@@ -65,9 +71,19 @@
}
/**
+ * Compares two values for equality.
+ *
+ * @param value The other value.
+ */
+ public boolean equals(CssIdent value) {
+ return (value.hashCode() == hashCode());
+ }
+
+ /**
* Returns a hashcode for this ident.
*/
public int hashCode() {
+ // we cache, as we use toLowerCase and don't store the resulting string
if (hashcode == 0) {
hashcode = value.toLowerCase().hashCode();
}
Index: CssString.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssString.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssString.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssString.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -17,8 +17,14 @@
*/
public class CssString extends CssValue {
+ public static final int type = CssTypes.CSS_STRING;
+
String value;
+ public final int getType() {
+ return type;
+ }
+
/**
* Create a new CssString
*/
@@ -40,10 +46,11 @@
* @exception InvalidParamException The unit is incorrect
*/
public void set(String s, ApplContext ac) throws InvalidParamException {
- if (s.indexOf('\'') == -1 &&
- s.indexOf('"') == -1) {
- throw new InvalidParamException("string", s, ac);
- }
+// if (s.indexOf('\'') == -1 &&
+// s.indexOf('"') == -1) {
+// throw new InvalidParamException("string", s, ac);
+// }
+// tokenizer is taking care of the validity of the value
value = s;
}
Index: CssLength.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssLength.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssLength.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssLength.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -90,95 +90,102 @@
*/
public class CssLength extends CssValue {
- /**
- * Create a new CssLength
- */
- public CssLength() {
- value = defaultValue;
- }
+ public static final int type = CssTypes.CSS_LENGTH;
+
+ public final int getType() {
+ return type;
+ }
+
+ /**
+ * Create a new CssLength
+ */
+ public CssLength() {
+ value = defaultValue;
+ }
- /**
- * Set the value of this length.
- *
- * @param s the string representation of the length.
- * @param frame For errors and warnings reports.
- * @exception InvalidParamException The unit is incorrect
- */
- public void set(String s, ApplContext ac) throws InvalidParamException {
- s = s.toLowerCase();
- int length = s.length();
- String unit = s.substring(length-2, length);
- this.value = new Float(s.substring(0, length-2));
+ /**
+ * Set the value of this length.
+ *
+ * @param s the string representation of the length.
+ * @param frame For errors and warnings reports.
+ * @exception InvalidParamException The unit is incorrect
+ */
+ public void set(String s, ApplContext ac) throws InvalidParamException {
+ s = s.toLowerCase();
+ int length = s.length();
+ String unit = s.substring(length-2, length);
+ this.value = new Float(s.substring(0, length-2));
- this.unit = 2; // there is no unit by default
+ this.unit = 2; // there is no unit by default
- if (unit.equals("gd") && (cssversion.equals("css2"))) {
- throw new InvalidParamException("unit", unit, ac);
- }
+ if (unit.equals("gd") && (cssversion.equals("css2"))) {
+ throw new InvalidParamException("unit", unit, ac);
+ }
- if (value.floatValue() != 0) {
- int hash = unit.hashCode();
- int i = 0;
- while (i<units.length) {
- if (hash == hash_units[i]) {
- this.unit = i;
- return;
+ if (value.floatValue() != 0) {
+ int hash = unit.hashCode();
+ int i = 0;
+ while (i<units.length) {
+ if (hash == hash_units[i]) {
+ this.unit = i;
+ return;
+ }
+ i++;
+ }
+ } else {
+ return;
}
- i++;
- }
- } else {
- return;
- }
- throw new InvalidParamException("unit", unit, ac);
- }
+ throw new InvalidParamException("unit", unit, ac);
+ }
- /**
- * Returns the current value
- */
- public Object get() {
- return value;
- }
+ /**
+ * Returns the current value
+ */
+ public Object get() {
+ return value;
+ }
- /**
- * Returns the current value
- */
- public String getUnit() {
- return units[unit];
- }
+ /**
+ * Returns the current value
+ */
+ public String getUnit() {
+ return units[unit];
+ }
- /**
- * Returns a string representation of the object.
- */
- public String toString() {
- if (value.floatValue() != 0) {
- return Util.displayFloat(value) + getUnit();
- } else {
- return Util.displayFloat(value);
- }
- }
+ /**
+ * Returns a string representation of the object.
+ */
+ public String toString() {
+ if (value.floatValue() != 0) {
+ return Util.displayFloat(value) + getUnit();
+ } else {
+ return Util.displayFloat(value);
+ }
+ }
- /**
- * Compares two values for equality.
- *
- * @param value The other value.
- */
- public boolean equals(Object value) {
- return (value instanceof CssLength &&
- this.value.equals(((CssLength) value).value) &&
- unit == ((CssLength) value).unit);
- }
+ /**
+ * Compares two values for equality.
+ *
+ * @param value The other value.
+ */
+ public boolean equals(Object value) {
+ return (value instanceof CssLength &&
+ this.value.equals(((CssLength) value).value) &&
+ unit == ((CssLength) value).unit);
+ }
- private Float value;
- private int unit;
- private static String[] units = { "mm", "cm", "pt", "pc", "em", "ex", "px", "in", "gd" };
- private static int[] hash_units;
- private static Float defaultValue = new Float(0);
+ private Float value;
+ private int unit;
+ private static String[] units = { "mm", "cm", "pt", "pc", "em",
+ "ex", "px", "in", "gd" };
+ private static int[] hash_units;
+ private static Float defaultValue = new Float(0);
- static {
- hash_units = new int[units.length];
- for (int i=0; i<units.length; i++)
- hash_units[i] = units[i].hashCode();
- }
+ static {
+ hash_units = new int[units.length];
+ for (int i=0; i<units.length; i++)
+ hash_units[i] = units[i].hashCode();
+ }
}
Index: CssColorCSS21.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS21.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CssColorCSS21.java 15 May 2007 06:06:45 -0000 1.3
+++ CssColorCSS21.java 25 Mar 2008 18:30:11 -0000 1.4
@@ -29,7 +29,9 @@
}
}
- public CssColorCSS21(ApplContext ac, String s) throws InvalidParamException {
+ public CssColorCSS21(ApplContext ac, String s)
+ throws InvalidParamException
+ {
setIdentColor(s, ac);
}
@@ -39,7 +41,6 @@
private void setIdentColor(String s, ApplContext ac)
throws InvalidParamException {
String lower_s = s.toLowerCase();
-
int hash = lower_s.hashCode();
int indexOfColor = searchColor(hash, tableColorHash);
Index: ATSCColor.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/ATSCColor.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- ATSCColor.java 15 May 2007 06:06:45 -0000 1.6
+++ ATSCColor.java 25 Mar 2008 18:30:11 -0000 1.7
@@ -6,7 +6,7 @@
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;
-import java.util.Hashtable;
+import java.util.HashMap;
import org.w3c.css.util.ApplContext;
import org.w3c.css.util.InvalidParamException;
@@ -163,7 +163,7 @@
Object color;
RGBATSC rgb;
- static Hashtable definedColors;
+ static HashMap<String,Object> definedColors;
static CssIdent inherit = new CssIdent("inherit");
/**
@@ -471,7 +471,7 @@
}
static {
- definedColors = new Hashtable();
+ definedColors = new HashMap<String,Object>();
definedColors.put("black",
new RGBATSC(new Integer(0),
new Integer(0),
Index: CssColor.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColor.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- CssColor.java 15 May 2007 06:06:45 -0000 1.12
+++ CssColor.java 25 Mar 2008 18:30:11 -0000 1.13
@@ -7,7 +7,7 @@
package org.w3c.css.values;
-import java.util.Hashtable;
+import java.util.HashMap;
import java.util.Vector;
import org.w3c.css.util.ApplContext;
@@ -164,15 +164,20 @@
public class CssColor extends CssValue
implements CssColorConstants, CssOperator {
[...1041 lines suppressed...]
- new Integer(105)));
+ new RGB(105, 105, 105));
definedColors.put("lightgray",
- new RGB(new Integer(211),
- new Integer(211),
- new Integer(211)));
+ new RGB(211, 211, 211));
definedColors.put("lightslategrey",
- new RGB(new Integer(119),
- new Integer(136),
- new Integer(153)));
+ new RGB(119, 136, 153));
definedColors.put("slategrey",
- new RGB(new Integer(112),
- new Integer(128),
- new Integer(144)));
+ new RGB(112, 128, 144));
definedColors.put("transparent",
new RGBA(new Integer(0),
new Integer(0),
Index: CssDate.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssDate.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CssDate.java 8 Sep 2005 12:24:10 -0000 1.3
+++ CssDate.java 25 Mar 2008 18:30:11 -0000 1.4
@@ -17,10 +17,16 @@
* @version $Revision$
*/
public class CssDate extends CssValue {
+
+ public static final int type = CssTypes.CSS_DATE;
+
+ public final int getType() {
+ return type;
+ }
- String day = new String();
- String month = new String();
- String year = new String();
+ String day = new String();
+ String month = new String();
+ String year = new String();
/**
* Create a new CssDate.
Index: CssTime.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssTime.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssTime.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssTime.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -28,6 +28,12 @@
*/
public class CssTime extends CssValue {
+ public static final int type = CssTypes.CSS_TIME;
+
+ public final int getType() {
+ return type;
+ }
+
/**
* Create a new CssTime.
*/
Index: RGB.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/RGB.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- RGB.java 14 Sep 2005 15:15:33 -0000 1.5
+++ RGB.java 25 Mar 2008 18:30:12 -0000 1.6
@@ -16,26 +16,46 @@
public class RGB {
String output = null;
- Object r;
- Object g;
- Object b;
-
+ int r, g, b;
+ float fr, fg, fb;
+
boolean percent = false;
/**
* @return Returns the percent.
*/
- public boolean isPercent() {
+ public final boolean isPercent() {
return percent;
}
/**
* @param percent The percent to set.
*/
- public void setPercent(boolean percent) {
+ public final void setPercent(boolean percent) {
this.percent = percent;
}
+ public final void setRed(int r) {
+ this.r = r;
+ }
+ public final void setRed(float fr) {
+ this.fr = fr;
+ }
+
+ public final void setGreen(int g) {
+ this.g = g;
+ }
+ public final void setGreen(float gr) {
+ this.fg = fg;
+ }
+
+ public final void setBlue(int b) {
+ this.b = b;
+ }
+ public final void setBlue(float fb) {
+ this.fb = fb;
+ }
+
/**
* Create a new RGB
*/
@@ -45,21 +65,54 @@
/**
* Create a new RGB with default values
*/
- public RGB(Object r, Object g, Object b) {
+ public RGB(int r, int g, int b) {
this.r = r;
this.g = g;
this.b = b;
}
+
+ public RGB(float fr, float fg, float fb) {
+ this.fr = fr;
+ this.fg = fg;
+ this.fb = fb;
+ percent = true;
+ }
+ public boolean equals(RGB other) {
+ if (other != null) {
+ if (percent) {
+ if (other.percent) {
+ return ((fr == other.fr) &&
+ (fg == other.fg) &&
+ (fb == other.fb));
+ }
+ } else {
+ if (!other.percent) {
+ return ((r == other.r) &&
+ (g == other.g) &&
+ (b == other.b));
+ }
+ }
+ }
+ return false;
+ }
/**
* Returns a string representation of the object.
*/
public String toString() {
if (output == null) {
- String unit = (isPercent()) ? "%" : "";
- return "rgb(" + r + unit + ", " + g + unit + ", " + b + unit + ")";
- } else {
- return output;
- }
+ StringBuilder sb = new StringBuilder("rgb(");
+ if (isPercent()) {
+ sb.append(fr).append("%, ");
+ sb.append(fg).append("%, ");
+ sb.append(fb).append("%)");
+ } else {
+ sb.append(r).append(", ");
+ sb.append(g).append(", ");
+ sb.append(b).append(')');
+ }
+ output = sb.toString();
+ }
+ return output;
}
}
Index: CssNumber.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssNumber.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssNumber.java 14 Sep 2005 15:15:33 -0000 1.6
+++ CssNumber.java 25 Mar 2008 18:30:11 -0000 1.7
@@ -16,6 +16,12 @@
*/
public class CssNumber extends CssValue implements CssValueFloat {
+ public static final int type = CssTypes.CSS_NUMBER;
+
+ public final int getType() {
+ return type;
+ }
+
ApplContext ac;
Float value;
boolean isInt = false;
Index: CssFrequency.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssFrequency.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssFrequency.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssFrequency.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -28,6 +28,12 @@
*/
public class CssFrequency extends CssValue {
+ public static final int type = CssTypes.CSS_FREQUENCY;
+
+ public final int getType() {
+ return type;
+ }
+
/**
* Create a new CssFrequency
*/
Index: CssPercentage.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssPercentage.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssPercentage.java 14 Sep 2005 15:15:33 -0000 1.5
+++ CssPercentage.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -34,6 +34,12 @@
*/
public class CssPercentage extends CssValue {
+ public static final int type = CssTypes.CSS_PERCENTAGE;
+
+ public final int getType() {
+ return type;
+ }
+
static Float defaultValue = new Float(0);
Float value;
Index: CssAngle.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssAngle.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- CssAngle.java 14 Sep 2005 15:15:33 -0000 1.6
+++ CssAngle.java 25 Mar 2008 18:30:11 -0000 1.7
@@ -29,6 +29,12 @@
* @version $Revision$ */
public class CssAngle extends CssValue implements CssValueFloat {
+ public static final int type = CssTypes.CSS_ANGLE;
+
+ public final int getType() {
+ return type;
+ }
+
Float value;
int unit;
static String[] units = { "deg", "grad", "rad" };
Index: CssExpression.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssExpression.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- CssExpression.java 17 Mar 2008 17:51:33 -0000 1.5
+++ CssExpression.java 25 Mar 2008 18:30:11 -0000 1.6
@@ -15,6 +15,10 @@
*/
public class CssExpression implements CssOperator {
+ private Vector<ValueOperator> items = new Vector<ValueOperator>();
+ private int count = 0;
+ private int index = 0;
+
/**
* Add a value to the end of the expression
* By default the next operator is a space
@@ -34,7 +38,7 @@
* @see CssOperator
*/
public void setOperator(char operator) {
- ((ValueOperator) items.elementAt(count-1)).operator = operator;
+ (items.elementAt(count-1)).operator = operator;
}
/**
@@ -45,7 +49,7 @@
* @see CssOperator
*/
public void setCurrentOperator(char operator) {
- ((ValueOperator) items.elementAt(index)).operator = operator;
+ (items.elementAt(index)).operator = operator;
}
/**
@@ -56,7 +60,7 @@
if (index == count)
return null;
else
- return ((ValueOperator) items.elementAt(index)).value;
+ return (items.elementAt(index)).value;
}
/**
@@ -67,7 +71,7 @@
if (index+1 >= count)
return null;
else
- return ((ValueOperator) items.elementAt(index+1)).value;
+ return (items.elementAt(index+1)).value;
}
/* Modified by Sijtsche de Jong */
@@ -79,7 +83,7 @@
if (index == count)
return SPACE;
else
- return ((ValueOperator) items.elementAt(index)).operator;
+ return (items.elementAt(index)).operator;
}
/**
@@ -151,7 +155,7 @@
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = index; i < count; i++) {
- ValueOperator vo = (ValueOperator) items.elementAt(i);
+ ValueOperator vo = items.elementAt(i);
sb.append(vo.value.toString()).append(vo.operator);
}
// remove the last one
@@ -168,7 +172,7 @@
public String toStringFromStart() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < index; i++) {
- ValueOperator vo = (ValueOperator) items.elementAt(i);
+ ValueOperator vo = items.elementAt(i);
sb.append(vo.value.toString()).append(vo.operator);
}
@@ -183,8 +187,4 @@
CssValue value;
char operator;
}
-
- private Vector items = new Vector();
- private int count = 0;
- private int index = 0;
}
--- NEW FILE: CssTypes.java ---
//
// $Id: CssTypes.java,v 1.1 2008/03/25 18:30:11 ylafon Exp $
//
// (c) COPYRIGHT MIT, ERCIM and Keio University, 2008.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;
public class CssTypes {
public static final int CSS_UNKNOWN = -1;
public static final int CSS_IDENT = 0;
public static final int CSS_STRING = 1;
public static final int CSS_URL = 2;
public static final int CSS_COLOR = 3;
public static final int CSS_PERCENTAGE = 4;
public static final int CSS_NUMBER = 5;
public static final int CSS_LENGTH = 6;
public static final int CSS_ANGLE = 7;
public static final int CSS_TIME = 8;
public static final int CSS_FREQUENCY = 9;
public static final int CSS_RESOLUTION = 10;
public static final int CSS_DATE = 11;
public static final int CSS_UNICODE_RANGE = 12;
}
Received on Tuesday, 25 March 2008 18:31:09 UTC