
w3c.css.properties.css3.CssRowGap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cssvalidator Show documentation
Show all versions of cssvalidator Show documentation
Backend for the W3C CSS Validation Service
//
// Author: Yves Lafon
//
// COPYRIGHT (c) 2018 World Wide Web Consortium, (MIT, ERCIM, Keio, Beihang)
// Please first read the full copyright statement in file COPYRIGHT.html
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.CssCheckableValue;
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 https://www.w3.org/TR/2018/WD-css-align-3-20180423/#propdef-row-gap
*/
public class CssRowGap extends org.w3c.css.properties.css.CssRowGap {
static CssIdent normal;
static {
normal = CssIdent.getIdent("normal");
}
/**
* Create a new CssColumnGap
*/
public CssRowGap() {
value = initial;
}
/**
* Create a new CssColumnGap
*/
public CssRowGap(ApplContext ac, CssExpression expression,
boolean check) throws InvalidParamException {
setByUser();
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
value = checkSyntax(ac, expression, this);
}
public static CssValue checkSyntax(ApplContext ac, CssExpression expression, CssProperty caller)
throws InvalidParamException {
CssValue val = expression.getValue();
switch (val.getType()) {
case CssTypes.CSS_NUMBER:
val.getCheckableValue().checkEqualsZero(ac, caller);
break;
case CssTypes.CSS_PERCENTAGE:
case CssTypes.CSS_LENGTH:
CssCheckableValue l = val.getCheckableValue();
l.checkPositiveness(ac, caller);
break;
case CssTypes.CSS_IDENT:
if (normal.equals(val)) {
val = normal;
break;
}
if (inherit.equals(val)) {
val = inherit;
break;
}
default:
throw new InvalidParamException("value", expression.getValue(),
caller.getPropertyName(), ac);
}
expression.next();
return val;
}
public CssRowGap(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Is the value of this property a default value
* It is used by all macro for the function print
*/
public boolean isDefault() {
return (value == initial);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy