W3C home > Mailing lists > Public > www-validator-cvs@w3.org > October 2012

2002/css-validator/org/w3c/css/properties/css3 Css3Style.java,1.134,1.135 CssIcon.java,1.3,1.4

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Wed, 17 Oct 2012 13:50:07 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1TOU0d-00011j-2H@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv3905/css3

Modified Files:
	Css3Style.java CssIcon.java 
Log Message:
icon per http://www.w3.org/TR/2012/WD-css3-ui-20120117/#icon

Index: Css3Style.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/Css3Style.java,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -d -r1.134 -r1.135
--- Css3Style.java	17 Oct 2012 09:53:56 -0000	1.134
+++ Css3Style.java	17 Oct 2012 13:50:04 -0000	1.135
@@ -62,6 +62,7 @@
 import org.w3c.css.properties.css.CssFontVariantPosition;
 import org.w3c.css.properties.css.CssHangingPunctuation;
 import org.w3c.css.properties.css.CssHyphens;
+import org.w3c.css.properties.css.CssIcon;
 import org.w3c.css.properties.css.CssImeMode;
 import org.w3c.css.properties.css.CssJustifyContent;
 import org.w3c.css.properties.css.CssLineBreak;
@@ -215,6 +216,7 @@
 	public CssImeMode cssImeMode;
 	public CssNavIndex cssNavIndex;
 	public CssTextOverflow cssTextOverflow;
+	public CssIcon cssIcon;
 
 	CssDropInitialAfterAdjust cssDropInitialAfterAdjust;
 	CssDropInitialAfterAlign cssDropInitialAfterAlign;
@@ -229,7 +231,6 @@
 	CssLineStackingStrategy cssLineStackingStrategy;
 	CssTextHeight cssTextHeight;
 	CssAppearance cssAppearance;
-	CssIcon cssIcon;
 	CssNavUp cssNavUp;
 	CssNavRight cssNavRight;
 	CssNavDown cssNavDown;

Index: CssIcon.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/CssIcon.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- CssIcon.java	5 Jan 2010 13:49:52 -0000	1.3
+++ CssIcon.java	17 Oct 2012 13:50:04 -0000	1.4
@@ -1,178 +1,94 @@
-//
 // $Id$
-// From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr)
-// Updated september 14th 2000 by Sijtsche de Jong (sy.de.jong@let.rug.nl)
+// Author: Yves Lafon <ylafon@w3.org>
 //
-// (c) COPYRIGHT MIT and INRIA, 1997.
+// (c) COPYRIGHT MIT, ERCIM and Keio University, 2012.
 // Please first read the full copyright statement in file COPYRIGHT.html
-/*
- */
 package org.w3c.css.properties.css3;
-import java.util.Vector;
 
-import org.w3c.css.parser.CssStyle;
-import org.w3c.css.properties.css.CssProperty;
 import org.w3c.css.util.ApplContext;
 import org.w3c.css.util.InvalidParamException;
 import org.w3c.css.values.CssExpression;
 import org.w3c.css.values.CssIdent;
-import org.w3c.css.values.CssOperator;
-import org.w3c.css.values.CssURL;
+import org.w3c.css.values.CssLayerList;
+import org.w3c.css.values.CssTypes;
 import org.w3c.css.values.CssValue;
 
-/**
- * @version $Revision$
- */
-public class CssIcon extends CssProperty
-    implements CssOperator {
-
-    int value;
-    CssValue icon;
-    Vector uris = new Vector();
-    CssIdent auto = new CssIdent("auto");
-    boolean inheritedValue;
-
-    /**
-     * Create a new CssIcon
-     */
-    public CssIcon() {
-		value = 0;
-    }
-
-    /**
-     * Create a new CssIcon
-     *
-     * @param expression The expression for this property
-     * @exception InvalidParamException Values are incorrect
-     */
-    public CssIcon(ApplContext ac, CssExpression expression,
-	    boolean check) throws InvalidParamException {
-
-	CssValue val = expression.getValue();
-	char op = expression.getOperator();
-
-	setByUser();
-	boolean correct = false;
+import java.util.ArrayList;
 
+import static org.w3c.css.values.CssOperator.COMMA;
 
-	if (val.equals(inherit)) {
-	    inheritedValue = true;
-	    icon = inherit;
-	    expression.next();
-	    return;
-	} else if (val.equals(auto)) {
-	    icon = auto;
-	    expression.next();
-	    return;
-	}
+/**
+ * @spec http://www.w3.org/TR/2012/WD-css3-ui-20120117/#icon
+ */
+public class CssIcon extends org.w3c.css.properties.css.CssIcon {
 
-	while (val != null) {
-	    if (val instanceof CssURL) {
-		uris.addElement(val);
-		expression.next();
-		val = expression.getValue();
-		op = expression.getOperator();
-		correct = true;
-	    } else {
-		throw new InvalidParamException("value",
-			val.toString(), getPropertyName(), ac);
-	    }
-	}
+	public static final CssIdent auto = CssIdent.getIdent("auto");
 
-	if (!correct) {
-	    throw new InvalidParamException("value",
-		    val.toString(), getPropertyName(), ac);
+	/**
+	 * Create a new CssIcon
+	 */
+	public CssIcon() {
+		value = initial;
 	}
-    }
-
-    public CssIcon(ApplContext ac, CssExpression expression)
-	    throws InvalidParamException {
-	this(ac, expression, false);
-    }
-
-    /**
-     * Returns the value of this property
-     */
-    public Object get() {
-		return null;
-    }
-
-    /**
-     * Returns the name of this property
-     */
-    public String getPropertyName() {
-		return "icon";
-    }
-
-    /**
-     * Returns true if this property is "softly" inherited
-     * e.g. his value equals inherit
-     */
-    public boolean isSoftlyInherited() {
-		return inheritedValue;
-    }
-
-    /**
-     * Returns a string representation of the object.
-     */
-    public String toString() {
-		if (icon != null) {
-		    return icon.toString();
-		} else {
-		    int i = 0;
-		    int l = uris.size();
-		    String ret = "";
-		    while (i != l) {
-			ret += uris.elementAt(i++) +
-			    (new Character(COMMA)).toString() + " ";
-		    }
 
-		    return ret;
-		}
-    }
+	/**
+	 * Creates a new CssIcon
+	 *
+	 * @param expression The expression for this property
+	 * @throws org.w3c.css.util.InvalidParamException
+	 *          Expressions are incorrect
+	 */
+	public CssIcon(ApplContext ac, CssExpression expression, boolean check)
+			throws InvalidParamException {
+		setByUser();
 
-    /**
-     * Add this property to the CssStyle.
-     *
-     * @param style The CssStyle
-     */
-    public void addToStyle(ApplContext ac, CssStyle style) {
-		Css3Style style0 = (Css3Style) style;
-		if (style0.cssIcon != null)
-		    style0.addRedefinitionWarning(ac, this);
-		style0.cssIcon = this;
-    }
+		CssValue val;
+		char op;
+		ArrayList<CssValue> values = new ArrayList<CssValue>();
 
-    /**
-     * Get this property in the style.
-     *
-     * @param style The style where the property is
-     * @param resolve if true, resolve the style to find this property
-     */
-    public CssProperty getPropertyInStyle(CssStyle style, boolean resolve) {
-		if (resolve) {
-		    return ((Css3Style) style).getIcon();
-		} else {
-		    return ((Css3Style) style).cssIcon;
+		while (!expression.end()) {
+			val = expression.getValue();
+			op = expression.getOperator();
+			switch (val.getType()) {
+				case CssTypes.CSS_URL:
+					values.add(val);
+					break;
+				case CssTypes.CSS_IDENT:
+					if (inherit.equals(val)) {
+						if (expression.getCount() > 1) {
+							throw new InvalidParamException("value",
+									inherit.toString(),
+									getPropertyName(), ac);
+						}
+						values.add(inherit);
+						break;
+					}
+					if (auto.equals(val)) {
+						if (expression.getCount() > 1) {
+							throw new InvalidParamException("value",
+									auto.toString(),
+									getPropertyName(), ac);
+						}
+						values.add(auto);
+						break;
+					}
+				default:
+					throw new InvalidParamException("value",
+							val.toString(),
+							getPropertyName(), ac);
+			}
+			expression.next();
+			if (!expression.end() && (op != COMMA)) {
+				throw new InvalidParamException("operator",
+						((new Character(op)).toString()), ac);
+			}
 		}
-    }
-
-    /**
-     * Compares two properties for equality.
-     *
-     * @param value The other property.
-     */
-    public boolean equals(CssProperty property) {
-		return (property instanceof CssIcon
-			&& value == ((CssIcon) property).value);
-    }
-
-    /**
-     * Is the value of this property is a default value.
-     * It is used by all macro for the function <code>print</code>
-     */
-    public boolean isDefault() {
-		return value == 0;
-    }
+		value = (values.size() == 1) ? values.get(0) : new CssLayerList(values);
+	}
 
+	public CssIcon(ApplContext ac, CssExpression expression)
+			throws InvalidParamException {
+		this(ac, expression, false);
+	}
 }
+
Received on Wednesday, 17 October 2012 13:50:16 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:17:52 UTC