- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 04 Oct 2011 14:33:40 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css3
In directory hutz:/tmp/cvs-serv15722/org/w3c/css/properties/css3
Added Files:
CssBreakAfter.java CssBreakBefore.java CssBreakInside.java
Log Message:
rearranging stuff
--- NEW FILE: CssBreakBefore.java ---
// $Id: CssBreakBefore.java,v 1.3 2011/10/04 14:33:38 ylafon Exp $
// From Sijtsche de Jong (sy.de.jong@let.rug.nl)
// Rewritten 2010 Yves Lafon <ylafon@w3.org>
// (c) COPYRIGHT 1995-2010 World Wide Web Consortium (MIT, ERCIM and Keio)
// Please first read the full copyright statement at
// http://www.w3.org/Consortium/Legal/copyright-software-19980720
package org.w3c.css.properties.css3;
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.CssTypes;
import org.w3c.css.values.CssValue;
import java.util.HashMap;
/**
* http://www.w3.org/TR/2009/CR-css3-multicol-20091217/#column-breaks
* <p/>
* When content is laid out in multiple columns, the user agent must determine
* where column breaks are placed. The problem of breaking content into columns
* is similar to breaking content into pages.
* <p/>
* Three new properties are introduced to allow column breaks to be described
* in the same properties as page breaks: ‘break-before’, ‘break-after’, and
* ‘break-inside’. These properties take the same values as
* ‘page-break-before’, ‘page-break-after’, and ‘page-break-inside’ [CSS21].
* In addition, some new keyword values are added.
* <p/>
* Name: break-before
* Value: auto | always | avoid | left | right | page | column |
* avoid-page | avoid-column
* Initial: auto
* Applies to: block-level elements
* Inherited: no
* Percentages: N/A
* Media: paged
* Computed value: specified value
*/
public class CssBreakBefore extends org.w3c.css.properties.css.CssBreakBefore {
static CssIdent auto;
private static HashMap<String, CssIdent> allowed_values;
CssIdent value;
static {
allowed_values = new HashMap<String, CssIdent>();
auto = CssIdent.getIdent("auto");
String id_values[] = {"auto", "always", "avoid", "left", "right",
"page", "column", "avoid-page", "avoid-column"};
for (String s : id_values) {
allowed_values.put(s, CssIdent.getIdent(s));
}
}
/**
* Create a new CssColumnWidth
*/
public CssBreakBefore() {
value = auto;
}
/**
* Create a new CssBreakBefore
*
* @param ac the context
* @param expression The expression for this property
* @param check if checking is needed
* @throws org.w3c.css.util.InvalidParamException Incorrect value
*/
public CssBreakBefore(ApplContext ac, CssExpression expression,
boolean check) throws InvalidParamException {
setByUser();
CssValue val = expression.getValue();
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
if (val.getType() != CssTypes.CSS_IDENT) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
// ident, so inherit, or allowed value
if (inherit.equals(val)) {
value = inherit;
} else {
val = allowed_values.get(val.toString());
if (val == null) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
value = (CssIdent) val;
}
expression.next();
}
public CssBreakBefore(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Compares two properties for equality.
*
* @param property The other property.
*/
public boolean equals(CssProperty property) {
return (property instanceof CssBreakBefore &&
value.equals(((CssBreakBefore) property).value));
}
/**
* Returns the value of this property
*/
public Object get() {
return value;
}
/**
* Returns true if this property is "softly" inherited
*/
public boolean isSoftlyInherited() {
return (inherit == value);
}
/**
* Returns a string representation of the object
*/
public String toString() {
return value.toString();
}
/**
* Is the value of this property a default value
* It is used by all macro for the function <code>print</code>
*/
public boolean isDefault() {
return (auto == value);
}
}
--- NEW FILE: CssBreakInside.java ---
// $Id: CssBreakInside.java,v 1.3 2011/10/04 14:33:38 ylafon Exp $
// From Sijtsche de Jong (sy.de.jong@let.rug.nl)
// Rewritten 2010 Yves lafon <ylafon@w3.org>
//
// (c) COPYRIGHT 1995-2010 World Wide Web Consortium (MIT, ERCIM and Keio)
// Please first read the full copyright statement at
// http://www.w3.org/Consortium/Legal/copyright-software-19980720
package org.w3c.css.properties.css3;
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.CssTypes;
import org.w3c.css.values.CssValue;
import java.util.HashMap;
/**
* http://www.w3.org/TR/2009/CR-css3-multicol-20091217/#column-breaks
* <p/>
* When content is laid out in multiple columns, the user agent must determine
* where column breaks are placed. The problem of breaking content into columns
* is similar to breaking content into pages.
* <p/>
* Three new properties are introduced to allow column breaks to be described
* in the same properties as page breaks: ‘break-before’, ‘break-after’, and
* ‘break-inside’. These properties take the same values as
* ‘page-break-before’, ‘page-break-after’, and ‘page-break-inside’ [CSS21].
* In addition, some new keyword values are added.
* <p/>
* Name: break-inside
* Value: auto | avoid | avoid-page | avoid-column
* Initial: auto
* Applies to: block-level elements
* Inherited: no
* Percentages: N/A
* Media: paged
* Computed value: specified value
*/
public class CssBreakInside extends org.w3c.css.properties.css.CssBreakInside {
static CssIdent auto;
private static HashMap<String, CssIdent> allowed_values;
CssIdent value;
static {
allowed_values = new HashMap<String, CssIdent>();
auto = CssIdent.getIdent("auto");
String id_values[] = {"auto", "always", "avoid", "left", "right",
"page", "column", "avoid-page", "avoid-column"};
for (String s : id_values) {
allowed_values.put(s, CssIdent.getIdent(s));
}
}
/**
* Create a new CssColumnWidth
*/
public CssBreakInside() {
value = auto;
}
/**
* Create a new CssBreakInside
*
* @param expression The expression for this property
* @throws org.w3c.css.util.InvalidParamException Incorrect value
*/
public CssBreakInside(ApplContext ac, CssExpression expression,
boolean check) throws InvalidParamException {
setByUser();
CssValue val = expression.getValue();
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
if (val.getType() != CssTypes.CSS_IDENT) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
// ident, so inherit, or allowed value
if (inherit.equals(val)) {
value = inherit;
} else {
val = allowed_values.get(val.toString());
if (val == null) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
value = (CssIdent)val;
}
expression.next();
}
public CssBreakInside(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Compares two properties for equality.
*
* @param property The other property.
*/
public boolean equals(CssProperty property) {
return (property instanceof CssBreakInside &&
value.equals(((CssBreakInside) property).value));
}
/**
* Returns the value of this property
*/
public Object get() {
return value;
}
/**
* Returns true if this property is "softly" inherited
*/
public boolean isSoftlyInherited() {
return (inherit == value);
}
/**
* Returns a string representation of the object
*/
public String toString() {
return value.toString();
}
/**
* Is the value of this property a default value
* It is used by all macro for the function <code>print</code>
*/
public boolean isDefault() {
return (auto == value);
}
}
--- NEW FILE: CssBreakAfter.java ---
// $Id: CssBreakAfter.java,v 1.3 2011/10/04 14:33:38 ylafon Exp $
// From Sijtsche de Jong (sy.de.jong@let.rug.nl)
// Rewritten 2010 by Yves Lafon <ylafon@w3.org>
//
// (c) COPYRIGHT 1995-2010 World Wide Web Consortium (MIT, ERCIM and Keio)
// Please first read the full copyright statement at
// http://www.w3.org/Consortium/Legal/copyright-software-19980720
package org.w3c.css.properties.css3;
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.CssTypes;
import org.w3c.css.values.CssValue;
import java.util.HashMap;
/**
* http://www.w3.org/TR/2009/CR-css3-multicol-20091217/#column-breaks
* <p/>
* When content is laid out in multiple columns, the user agent must determine
* where column breaks are placed. The problem of breaking content into columns
* is similar to breaking content into pages.
* <p/>
* Three new properties are introduced to allow column breaks to be described
* in the same properties as page breaks: ‘break-before’, ‘break-after’, and
* ‘break-inside’. These properties take the same values as
* ‘page-break-before’, ‘page-break-after’, and ‘page-break-inside’ [CSS21].
* In addition, some new keyword values are added.
* <p/>
* Name: break-after
* Value: auto | always | avoid | left | right | page | column |
* avoid-page | avoid-column
* Initial: auto
* Applies to: block-level elements
* Inherited: no
* Percentages: N/A
* Media: paged
* Computed value: specified value
*/
public class CssBreakAfter extends org.w3c.css.properties.css.CssBreakAfter {
static CssIdent auto;
private static HashMap<String, CssIdent> allowed_values;
CssIdent value;
static {
allowed_values = new HashMap<String, CssIdent>();
auto = CssIdent.getIdent("auto");
String id_values[] = {"auto", "always", "avoid", "left", "right",
"page", "column", "avoid-page", "avoid-column"};
for (String s : id_values) {
allowed_values.put(s, CssIdent.getIdent(s));
}
}
/**
* Create a new CssColumnWidth
*/
public CssBreakAfter() {
value = auto;
}
/**
* Create a new CssBreakAfter
*
* @param expression The expression for this property
* @throws org.w3c.css.util.InvalidParamException Incorrect value
*/
public CssBreakAfter(ApplContext ac, CssExpression expression,
boolean check) throws InvalidParamException {
setByUser();
CssValue val = expression.getValue();
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
if (val.getType() != CssTypes.CSS_IDENT) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
// ident, so inherit, or allowed value
if (inherit.equals(val)) {
value = inherit;
} else {
val = allowed_values.get(val.toString());
if (val == null) {
throw new InvalidParamException("value",
expression.getValue(),
getPropertyName(), ac);
}
value = (CssIdent) val;
}
expression.next();
}
public CssBreakAfter(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Compares two properties for equality.
*
* @param property The other property.
*/
public boolean equals(CssProperty property) {
return (property instanceof CssBreakAfter &&
value.equals(((CssBreakAfter) property).value));
}
/**
* Returns the value of this property
*/
public Object get() {
return value;
}
/**
* Returns true if this property is "softly" inherited
*/
public boolean isSoftlyInherited() {
return (inherit == value);
}
/**
* Returns a string representation of the object
*/
public String toString() {
return value.toString();
}
/**
* Is the value of this property a default value
* It is used by all macro for the function <code>print</code>
*/
public boolean isDefault() {
return (auto == value);
}
}
Received on Tuesday, 4 October 2011 14:33:44 UTC