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

2002/css-validator/org/w3c/css/properties/css3 CssAnimationIterationCount.java,NONE,1.1 Css3Style.java,1.118,1.119

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Mon, 08 Oct 2012 09:50:52 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1TL9zA-00046S-IL@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv15640/css3

Modified Files:
	Css3Style.java 
Added Files:
	CssAnimationIterationCount.java 
Log Message:
animation-iteration-count per http://www.w3.org/TR/2012/WD-css3-animations-20120403/#animation-iteration-count

Index: Css3Style.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/Css3Style.java,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- Css3Style.java	8 Oct 2012 09:34:18 -0000	1.118
+++ Css3Style.java	8 Oct 2012 09:50:50 -0000	1.119
@@ -18,6 +18,7 @@
 import org.w3c.css.properties.css.CssAnimationDirection;
 import org.w3c.css.properties.css.CssAnimationDuration;
 import org.w3c.css.properties.css.CssAnimationFillMode;
+import org.w3c.css.properties.css.CssAnimationIterationCount;
 import org.w3c.css.properties.css.CssAnimationName;
 import org.w3c.css.properties.css.CssAnimationPlayState;
 import org.w3c.css.properties.css.CssAnimationTimingFunction;
@@ -171,6 +172,7 @@
 	public CssAnimationDirection cssAnimationDirection;
 	public CssAnimationDuration cssAnimationDuration;
 	public CssAnimationFillMode cssAnimationFillMode;
+	public CssAnimationIterationCount cssAnimationIterationCount;
 	public CssAnimationName cssAnimationName;
 	public CssAnimationPlayState cssAnimationPlayState;
 	public CssAnimationTimingFunction cssAnimationTimingFunction;
@@ -1146,6 +1148,15 @@
 		return cssAnimationDuration;
 	}
 
+	public CssAnimationIterationCount getAnimationIterationCount() {
+		if (cssAnimationIterationCount == null) {
+			cssAnimationIterationCount =
+					(CssAnimationIterationCount) style.CascadingOrder(
+							new CssAnimationIterationCount(), style, selector);
+		}
+		return cssAnimationIterationCount;
+	}
+	
 	public CssAnimationName getAnimationName() {
 		if (cssAnimationName == null) {
 			cssAnimationName =

--- NEW FILE: CssAnimationIterationCount.java ---
// $Id: CssAnimationIterationCount.java,v 1.1 2012/10/08 09:50:50 ylafon Exp $
// Author: Yves Lafon <ylafon@w3.org>
//
// (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 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.CssLayerList;
import org.w3c.css.values.CssNumber;
import org.w3c.css.values.CssTypes;
import org.w3c.css.values.CssValue;

import java.util.ArrayList;

import static org.w3c.css.values.CssOperator.COMMA;

/**
 * @spec http://www.w3.org/TR/2012/WD-css3-animations-20120403/#animation-iteration-count
 */
public class CssAnimationIterationCount extends org.w3c.css.properties.css.CssAnimationIterationCount {

	public static final CssIdent infinite = CssIdent.getIdent("infinite");

	public static CssIdent getAllowedIdent(CssIdent ident) {
		return (infinite.equals(ident) ? infinite : null);
	}

	/**
	 * Create a new CssAnimationIterationCount
	 */
	public CssAnimationIterationCount() {
		value = initial;
	}

	/**
	 * Creates a new CssAnimationIterationCount
	 *
	 * @param expression The expression for this property
	 * @throws org.w3c.css.util.InvalidParamException
	 *          Expressions are incorrect
	 */
	public CssAnimationIterationCount(ApplContext ac, CssExpression expression, boolean check)
			throws InvalidParamException {
		setByUser();

		CssValue val;
		char op;
		ArrayList<CssValue> values = new ArrayList<CssValue>();
		boolean singleVal = false;
		CssValue sValue = null;

		while (!expression.end()) {
			val = expression.getValue();
			op = expression.getOperator();
			switch (val.getType()) {
				case CssTypes.CSS_NUMBER:
					CssNumber num = val.getNumber();
					num.checkPositiveness(ac, this);
					values.add(val);
					break;
				case CssTypes.CSS_IDENT:
					if (inherit.equals(val)) {
						singleVal = true;
						sValue = inherit;
						values.add(inherit);
						break;
					} else {
						CssIdent ident = getAllowedIdent((CssIdent) val);
						if (ident != null) {
							values.add(ident);
							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);
			}
		}
		if (singleVal && values.size() > 1) {
			throw new InvalidParamException("value",
					sValue.toString(),
					getPropertyName(), ac);
		}
		value = (values.size() == 1) ? values.get(0) : new CssLayerList(values);
	}

	public CssAnimationIterationCount(ApplContext ac, CssExpression expression)
			throws InvalidParamException {
		this(ac, expression, false);
	}
}
Received on Monday, 8 October 2012 09:50:56 UTC

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