CVS 2002/css-validator/org/w3c/css/properties/css2

Update of /sources/public/2002/css-validator/org/w3c/css/properties/css2
In directory roscoe:/tmp/cvs-serv9756/css2

Modified Files:
	Css2Style.java 
Added Files:
	CssPageBreakAfter.java CssPageBreakBefore.java 
	CssPageBreakInside.java 
Log Message:
page-break-[after|before|inside] per CSS2 CSS21 CSS3

--- /sources/public/2002/css-validator/org/w3c/css/properties/css2/Css2Style.java	2013/09/30 01:08:42	1.49
+++ /sources/public/2002/css-validator/org/w3c/css/properties/css2/Css2Style.java	2014/01/29 21:03:02	1.50
@@ -1,5 +1,5 @@
 //
-// $Id: Css2Style.java,v 1.49 2013/09/30 01:08:42 ylafon Exp $
+// $Id: Css2Style.java,v 1.50 2014/01/29 21:03:02 ylafon Exp $
 // From Philippe Le Hegaret (Philippe.Le_Hegaret@sophia.inria.fr)
 //
 // (c) COPYRIGHT MIT and INRIA, 1997.
@@ -34,6 +34,9 @@
 import org.w3c.css.properties.css.CssOutlineStyle;
 import org.w3c.css.properties.css.CssOutlineWidth;
 import org.w3c.css.properties.css.CssOverflow;
+import org.w3c.css.properties.css.CssPageBreakAfter;
+import org.w3c.css.properties.css.CssPageBreakBefore;
+import org.w3c.css.properties.css.CssPageBreakInside;
 import org.w3c.css.properties.css.CssPause;
 import org.w3c.css.properties.css.CssPauseAfter;
 import org.w3c.css.properties.css.CssPauseBefore;
@@ -65,7 +68,7 @@
 import org.w3c.css.values.CssIdent;
 
 /**
- * @version $Revision: 1.49 $
+ * @version $Revision: 1.50 $
  */
 public class Css2Style extends Css1Style {
 
@@ -93,6 +96,10 @@
 	public CssPlayDuring cssPlayDuring;
 	public CssVoiceFamily cssVoiceFamily;
 
+	public CssPageBreakAfter cssPageBreakAfter;
+	public CssPageBreakBefore cssPageBreakBefore;
+	public CssPageBreakInside cssPageBreakInside;
+
 	/**
 	 * font properties
 	 */
@@ -131,7 +138,7 @@
 	public CssQuotes cssQuotes;
 	public CssCounterIncrement cssCounterIncrement;
 	public CssCounterReset cssCounterReset;
-	
+
 	public CssCaptionSide cssCaptionSide;
 	public CssBorderCollapse cssBorderCollapse;
 	public CssBorderSpacing cssBorderSpacing;
@@ -212,6 +219,43 @@
 		return cssBorder.borderStyle.left;
 	}
 
+
+	/**
+	 * Get the page-break-after property
+	 */
+	public final CssPageBreakAfter getPageBreakAfter() {
+		if (cssPageBreakAfter == null) {
+			cssPageBreakAfter =
+					(CssPageBreakAfter) style.CascadingOrder(new CssPageBreakAfter(),
+							style, selector);
+		}
+		return cssPageBreakAfter;
+	}
+
+	/**
+	 * Get the page-break-before property
+	 */
+	public final CssPageBreakBefore getPageBreakBefore() {
+		if (cssPageBreakBefore == null) {
+			cssPageBreakBefore =
+					(CssPageBreakBefore) style.CascadingOrder(new CssPageBreakBefore(),
+							style, selector);
+		}
+		return cssPageBreakBefore;
+	}
+
+	/**
+	 * Get the page-break-inside property
+	 */
+	public final CssPageBreakInside getPageBreakInside() {
+		if (cssPageBreakInside == null) {
+			cssPageBreakInside =
+					(CssPageBreakInside) style.CascadingOrder(new CssPageBreakInside(),
+							style, selector);
+		}
+		return cssPageBreakInside;
+	}
+
 	/**
 	 * get the font-stretch property
 	 *
@@ -424,6 +468,7 @@
 		}
 		return cssUnicodeBidi;
 	}
+
 	/**
 	 * Get the visibility property
 	 */
@@ -435,6 +480,7 @@
 		}
 		return cssVisibility;
 	}
+
 	/**
 	 * Get the overflow property
 	 */
@@ -446,6 +492,7 @@
 		}
 		return cssOverflow;
 	}
+
 	/**
 	 * Get the quotes property
 	 */
@@ -457,6 +504,7 @@
 		}
 		return cssQuotes;
 	}
+
 	/**
 	 * Get the counter-increment property
 	 */
@@ -468,6 +516,7 @@
 		}
 		return cssCounterIncrement;
 	}
+
 	/**
 	 * Get the counter-reset property
 	 */
@@ -488,7 +537,7 @@
 		}
 		return cssCaptionSide;
 	}
-	
+
 	public final CssBorderCollapse getBorderCollapse() {
 		if (cssBorderCollapse == null) {
 			cssBorderCollapse =
@@ -497,7 +546,7 @@
 		}
 		return cssBorderCollapse;
 	}
-	
+
 	public final CssEmptyCells getEmptyCells() {
 		if (cssEmptyCells == null) {
 			cssEmptyCells =
@@ -614,7 +663,7 @@
 		}
 		return cssCueAfter;
 	}
-	
+
 	public final CssCueBefore getCueBefore() {
 		if (cssCueBefore == null) {
 			cssCueBefore =
@@ -641,7 +690,7 @@
 		}
 		return cssPitch;
 	}
-	
+
 	public final CssPauseAfter getPauseAfter() {
 		if (cssPauseAfter == null) {
 			cssPauseAfter =
@@ -704,7 +753,7 @@
 		}
 		return cssWidows;
 	}
-	
+
 	/**
 	 * Find conflicts in this Style
 	 *

--- /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakAfter.java	2014/01/29 21:03:02	NONE
+++ /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakAfter.java	2014/01/29 21:03:02	1.1
// $Id: CssPageBreakAfter.java,v 1.1 2014/01/29 21:03:02 ylafon Exp $
// Author: Yves Lafon <ylafon@w3.org>
//
// (c) COPYRIGHT MIT, ERCIM, Keio University, Beihang University 2014.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css2;

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.CssTypes;
import org.w3c.css.values.CssValue;

/**
 * @spec http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-after
 */
public class CssPageBreakAfter extends org.w3c.css.properties.css.CssPageBreakAfter {

	public static final CssIdent[] allowed_values;

	static {
		String[] _allowed_values = {"auto", "always", "avoid", "left", "right"};
		int i = 0;
		allowed_values = new CssIdent[_allowed_values.length];
		for (String s : _allowed_values) {
			allowed_values[i++] = CssIdent.getIdent(s);
		}
	}

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

	/**
	 * Create a new CssPageBreakAfter
	 */
	public CssPageBreakAfter() {
	}

	/**
	 * Creates a new CssPageBreakAfter
	 *
	 * @param expression The expression for this property
	 * @throws org.w3c.css.util.InvalidParamException
	 *          Expressions are incorrect
	 */
	public CssPageBreakAfter(ApplContext ac, CssExpression expression, boolean check)
			throws InvalidParamException {
		if (check && expression.getCount() > 1) {
			throw new InvalidParamException("unrecognize", ac);
		}
		setByUser();

		CssValue val;
		char op;

		val = expression.getValue();
		op = expression.getOperator();

		if (val.getType() == CssTypes.CSS_IDENT) {
			CssIdent id = (CssIdent) val;
			if (inherit.equals(id)) {
				value = inherit;
			} else {
				value = getAllowedIdent(id);
				if (value == null) {
					throw new InvalidParamException("value",
							val.toString(),
							getPropertyName(), ac);
				}
			}
		} else {
			throw new InvalidParamException("value",
					val.toString(),
					getPropertyName(), ac);
		}
		expression.next();
	}

	public CssPageBreakAfter(ApplContext ac, CssExpression expression)
			throws InvalidParamException {
		this(ac, expression, false);
	}
}

--- /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakBefore.java	2014/01/29 21:03:02	NONE
+++ /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakBefore.java	2014/01/29 21:03:02	1.1
// $Id: CssPageBreakBefore.java,v 1.1 2014/01/29 21:03:02 ylafon Exp $
// Author: Yves Lafon <ylafon@w3.org>
//
// (c) COPYRIGHT MIT, ERCIM, Keio University, Beihang University 2014.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css2;

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.CssTypes;
import org.w3c.css.values.CssValue;

/**
 * @spec http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-before
 */
public class CssPageBreakBefore extends org.w3c.css.properties.css.CssPageBreakBefore {

	public static final CssIdent[] allowed_values;

	static {
		String[] _allowed_values = {"auto", "always", "avoid", "left", "right"};
		int i = 0;
		allowed_values = new CssIdent[_allowed_values.length];
		for (String s : _allowed_values) {
			allowed_values[i++] = CssIdent.getIdent(s);
		}
	}

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

	/**
	 * Create a new CssPageBreakBefore
	 */
	public CssPageBreakBefore() {
	}

	/**
	 * Creates a new CssPageBreakBefore
	 *
	 * @param expression The expression for this property
	 * @throws org.w3c.css.util.InvalidParamException
	 *          Expressions are incorrect
	 */
	public CssPageBreakBefore(ApplContext ac, CssExpression expression, boolean check)
			throws InvalidParamException {
		if (check && expression.getCount() > 1) {
			throw new InvalidParamException("unrecognize", ac);
		}
		setByUser();

		CssValue val;
		char op;

		val = expression.getValue();
		op = expression.getOperator();

		if (val.getType() == CssTypes.CSS_IDENT) {
			CssIdent id = (CssIdent) val;
			if (inherit.equals(id)) {
				value = inherit;
			} else {
				value = getAllowedIdent(id);
				if (value == null) {
					throw new InvalidParamException("value",
							val.toString(),
							getPropertyName(), ac);
				}
			}
		} else {
			throw new InvalidParamException("value",
					val.toString(),
					getPropertyName(), ac);
		}
		expression.next();
	}

	public CssPageBreakBefore(ApplContext ac, CssExpression expression)
			throws InvalidParamException {
		this(ac, expression, false);
	}
}

--- /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakInside.java	2014/01/29 21:03:02	NONE
+++ /sources/public/2002/css-validator/org/w3c/css/properties/css2/CssPageBreakInside.java	2014/01/29 21:03:02	1.1
// $Id: CssPageBreakInside.java,v 1.1 2014/01/29 21:03:02 ylafon Exp $
// Author: Yves Lafon <ylafon@w3.org>
//
// (c) COPYRIGHT MIT, ERCIM, Keio University, Beihang University 2014.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css2;

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.CssTypes;
import org.w3c.css.values.CssValue;

/**
 * @spec http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-inside
 */
public class CssPageBreakInside extends org.w3c.css.properties.css.CssPageBreakInside {

	public static final CssIdent[] allowed_values;

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

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

	/**
	 * Create a new CssPageBreakInside

[50 lines skipped]

Received on Wednesday, 29 January 2014 21:03:06 UTC