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

Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv26942/css3

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

Index: Css3Style.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/properties/css3/Css3Style.java,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- Css3Style.java	8 Oct 2012 09:21:12 -0000	1.116
+++ Css3Style.java	8 Oct 2012 09:27:30 -0000	1.117
@@ -16,6 +16,7 @@
 import org.w3c.css.properties.css.CssAlignSelf;
 import org.w3c.css.properties.css.CssAnimationDelay;
 import org.w3c.css.properties.css.CssAnimationDuration;
+import org.w3c.css.properties.css.CssAnimationFillMode;
 import org.w3c.css.properties.css.CssAnimationName;
 import org.w3c.css.properties.css.CssAnimationPlayState;
 import org.w3c.css.properties.css.CssAnimationTimingFunction;
@@ -167,10 +168,11 @@
 
 	public CssAnimationDelay cssAnimationDelay;
 	public CssAnimationDuration cssAnimationDuration;
+	public CssAnimationFillMode cssAnimationFillMode;
 	public CssAnimationName cssAnimationName;
 	public CssAnimationPlayState cssAnimationPlayState;
 	public CssAnimationTimingFunction cssAnimationTimingFunction;
-	
+
 	public CssAlignContent cssAlignContent;
 	public CssAlignItems cssAlignItems;
 	public CssAlignSelf cssAlignSelf;
@@ -183,7 +185,7 @@
 	public CssFlexShrink cssFlexShrink;
 	public CssJustifyContent cssJustifyContent;
 	public CssOrder cssOrder;
-	
+
 	CssDropInitialAfterAdjust cssDropInitialAfterAdjust;
 	CssDropInitialAfterAlign cssDropInitialAfterAlign;
 	CssDropInitialBeforeAdjust cssDropInitialBeforeAdjust;
@@ -1087,7 +1089,7 @@
 		}
 		return cssTextEmphasisPosition;
 	}
-	
+
 	public CssTextEmphasisStyle getTextEmphasisStyle() {
 		if (cssTextEmphasisStyle == null) {
 			cssTextEmphasisStyle =
@@ -1150,7 +1152,16 @@
 		}
 		return cssAnimationPlayState;
 	}
-	
+
+	public CssAnimationFillMode getAnimationFillMode() {
+		if (cssAnimationFillMode == null) {
+			cssAnimationFillMode =
+					(CssAnimationFillMode) style.CascadingOrder(
+							new CssAnimationFillMode(), style, selector);
+		}
+		return cssAnimationFillMode;
+	}
+
 	public CssAnimationTimingFunction getAnimationTimingFunction() {
 		if (cssAnimationTimingFunction == null) {
 			cssAnimationTimingFunction =
@@ -1250,7 +1261,7 @@
 		}
 		return cssFlexBasis;
 	}
-	
+
 	public CssFlexDirection getFlexDirection() {
 		if (cssFlexDirection == null) {
 			cssFlexDirection =
@@ -1313,7 +1324,7 @@
 		}
 		return cssOrder;
 	}
-	
+
 	///
 
 	/**

--- NEW FILE: CssAnimationFillMode.java ---
// $Id: CssAnimationFillMode.java,v 1.1 2012/10/08 09:27:30 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-fill-mode
 */
public class CssAnimationFillMode extends org.w3c.css.properties.css.CssAnimationFillMode {

	public static final CssIdent[] allowed_values;

	static {
		String[] _allowed_values = {"none", "forwards", "backwards", "both"};
		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 CssAnimationFillMode
	 */
	public CssAnimationFillMode() {
		value = initial;
	}

	/**
	 * Creates a new CssAnimationFillMode
	 *
	 * @param expression The expression for this property
	 * @throws org.w3c.css.util.InvalidParamException
	 *          Expressions are incorrect
	 */
	public CssAnimationFillMode(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 CssAnimationFillMode(ApplContext ac, CssExpression expression)
			throws InvalidParamException {
		this(ac, expression, false);
	}
}

Received on Monday, 8 October 2012 09:27:38 UTC