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

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

From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
Date: Mon, 08 Oct 2012 09:34:20 +0000
To: www-validator-cvs@w3.org
Message-Id: <E1TL9jA-0000PB-Gv@lionel-hutz.w3.org>
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv1493/css3

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

Index: Css3Style.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/Css3Style.java,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- Css3Style.java	8 Oct 2012 09:27:30 -0000	1.117
+++ Css3Style.java	8 Oct 2012 09:34:18 -0000	1.118
@@ -15,6 +15,7 @@
 import org.w3c.css.properties.css.CssAlignItems;
 import org.w3c.css.properties.css.CssAlignSelf;
 import org.w3c.css.properties.css.CssAnimationDelay;
+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.CssAnimationName;
@@ -167,6 +168,7 @@
 	public CssTransitionTimingFunction cssTransitionTimingFunction;
 
 	public CssAnimationDelay cssAnimationDelay;
+	public CssAnimationDirection cssAnimationDirection;
 	public CssAnimationDuration cssAnimationDuration;
 	public CssAnimationFillMode cssAnimationFillMode;
 	public CssAnimationName cssAnimationName;
@@ -1126,6 +1128,15 @@
 		return cssAnimationDelay;
 	}
 
+	public CssAnimationDirection getAnimationDirection() {
+		if (cssAnimationDirection == null) {
+			cssAnimationDirection =
+					(CssAnimationDirection) style.CascadingOrder(
+							new CssAnimationDirection(), style, selector);
+		}
+		return cssAnimationDirection;
+	}
+	
 	public CssAnimationDuration getAnimationDuration() {
 		if (cssAnimationDuration == null) {
 			cssAnimationDuration =

--- NEW FILE: CssAnimationDirection.java ---
// $Id: CssAnimationDirection.java,v 1.1 2012/10/08 09:34:18 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.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-direction
 */
public class CssAnimationDirection extends org.w3c.css.properties.css.CssAnimationDirection {

	public static final CssIdent[] allowed_values;

	static {
		String[] _allowed_values = {"normal", "reverse", "alternate", "alternate-reverse"};
		allowed_values = new CssIdent[_allowed_values.length];
		int i = 0;
		for (String s : _allowed_values) {
			allowed_values[i++] = CssIdent.getIdent(s);
		}
	}

	public static CssIdent getAllowedIdent(CssIdent ident) {
		for (CssIdent id : allowed_values) {
			if (id.equals(ident)) {
				return id;
			}
		}
		return null;
	}

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

	/**
	 * Creates a new CssAnimationDirection
	 *
	 * @param expression The expression for this property
	 * @throws org.w3c.css.util.InvalidParamException
	 *          Expressions are incorrect
	 */
	public CssAnimationDirection(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_IDENT:
					if (inherit.equals(val)) {
						singleVal = true;
						sValue = inherit;
						values.add(inherit);
					} else {
						CssIdent ident = getAllowedIdent((CssIdent) val);
						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 CssAnimationDirection(ApplContext ac, CssExpression expression)
			throws InvalidParamException {
		this(ac, expression, false);
	}
}
Received on Monday, 8 October 2012 09:34:21 UTC

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