- From: Yves Lafon via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 27 Sep 2011 08:15:48 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/2002/css-validator/org/w3c/css/properties/css21
In directory hutz:/tmp/cvs-serv13381/org/w3c/css/properties/css21
Added Files:
CssHeight.java CssWidth.java
Log Message:
width and height, including css3 value initial
--- NEW FILE: CssHeight.java ---
// $Id: CssHeight.java,v 1.1 2011/09/27 08:15:46 ylafon Exp $
//
// (c) COPYRIGHT MIT, ERCIM and Keio University
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css21;
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.CssLength;
import org.w3c.css.values.CssNumber;
import org.w3c.css.values.CssPercentage;
import org.w3c.css.values.CssTypes;
import org.w3c.css.values.CssValue;
/**
* @version $Revision: 1.1 $
* @spec http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#propdef-height
*/
public class CssHeight extends org.w3c.css.properties.css.CssHeight {
CssLength lenVal;
CssPercentage perVal;
CssIdent identVal;
/**
* Create a new CssHeight
*/
public CssHeight() {
}
/**
* Create a new CssHeight.
*
* @param expression The expression for this property
* @throws org.w3c.css.util.InvalidParamException Values are incorrect
*/
public CssHeight(ApplContext ac, CssExpression expression, boolean check)
throws InvalidParamException {
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
CssValue val = expression.getValue();
setByUser();
switch (val.getType()) {
case CssTypes.CSS_IDENT:
CssIdent ident = (CssIdent) val;
if (inherit.equals(val)) {
identVal = inherit;
} else if (auto.equals(val)) {
identVal = auto;
} else {
throw new InvalidParamException("unrecognize", ac);
}
break;
case CssTypes.CSS_NUMBER:
val = ((CssNumber) val).getLength();
case CssTypes.CSS_LENGTH:
lenVal = (CssLength) val;
if (lenVal.floatValue() < 0.) {
throw new InvalidParamException("negative-value",
val.toString(), ac);
}
break;
case CssTypes.CSS_PERCENTAGE:
perVal = (CssPercentage) val;
if (perVal.floatValue() < 0.) {
throw new InvalidParamException("negative-value",
val.toString(), ac);
}
break;
default:
throw new InvalidParamException("value", val, getPropertyName(), ac);
}
expression.next();
}
public CssHeight(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Returns the value of this property.
*/
public Object get() {
if (identVal != null) {
return identVal;
}
if (perVal != null) {
return perVal;
}
return lenVal;
}
/**
* Returns true if this property is "softly" inherited
* e.g. his value equals inherit
*/
public boolean isSoftlyInherited() {
return identVal == inherit;
}
/**
* Returns a string representation of the object.
*/
public String toString() {
if (identVal != null) {
return identVal.toString();
}
if (perVal != null) {
return perVal.toString();
}
if (lenVal != null) {
return lenVal.toString();
}
// the default
return auto.toString();
}
/**
* Compares two properties for equality.
*
* @param property The other property.
*/
public boolean equals(CssProperty property) {
try {
CssHeight h = (CssHeight) property;
return (identVal == h.identVal) &&
((perVal == null && h.perVal == null) ||
(perVal != null && perVal.equals(h.perVal))) &&
((lenVal == null && h.lenVal == null) ||
(lenVal != null && lenVal.equals(h.lenVal)));
} catch (ClassCastException ex) {
return false;
}
}
/**
* Is the value of this property is a default value.
* It is used by all macro for the function <code>print</code>
*/
public boolean isDefault() {
return identVal == auto;
}
}
--- NEW FILE: CssWidth.java ---
// $Id: CssWidth.java,v 1.1 2011/09/27 08:15:46 ylafon Exp $
//
// (c) COPYRIGHT MIT, ERCIM and Keio University
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.properties.css21;
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.CssLength;
import org.w3c.css.values.CssNumber;
import org.w3c.css.values.CssPercentage;
import org.w3c.css.values.CssTypes;
import org.w3c.css.values.CssValue;
/**
* @version $Revision: 1.1 $
* @spec http://www.w3.org/TR/2011/REC-CSS2-20110607/visudet.html#propdef-width
*/
public class CssWidth extends org.w3c.css.properties.css.CssWidth {
CssLength lenVal;
CssPercentage perVal;
CssIdent identVal;
/**
* Create a new CssWidth
*/
public CssWidth() {
}
/**
* Create a new CssWidth.
*
* @param expression The expression for this property
* @throws org.w3c.css.util.InvalidParamException Values are incorrect
*/
public CssWidth(ApplContext ac, CssExpression expression, boolean check)
throws InvalidParamException {
if (check && expression.getCount() > 1) {
throw new InvalidParamException("unrecognize", ac);
}
CssValue val = expression.getValue();
setByUser();
switch (val.getType()) {
case CssTypes.CSS_IDENT:
CssIdent ident = (CssIdent) val;
if (inherit.equals(val)) {
identVal = inherit;
} else if (auto.equals(val)) {
identVal = auto;
} else {
throw new InvalidParamException("unrecognize", ac);
}
break;
case CssTypes.CSS_NUMBER:
val = ((CssNumber) val).getLength();
case CssTypes.CSS_LENGTH:
lenVal = (CssLength) val;
if (lenVal.floatValue() < 0.) {
throw new InvalidParamException("negative-value",
val.toString(), ac);
}
break;
case CssTypes.CSS_PERCENTAGE:
perVal = (CssPercentage) val;
if (perVal.floatValue() < 0.) {
throw new InvalidParamException("negative-value",
val.toString(), ac);
}
break;
default:
throw new InvalidParamException("value", val, getPropertyName(), ac);
}
expression.next();
}
public CssWidth(ApplContext ac, CssExpression expression)
throws InvalidParamException {
this(ac, expression, false);
}
/**
* Returns the value of this property.
*/
public Object get() {
if (identVal != null) {
return identVal;
}
if (perVal != null) {
return perVal;
}
return lenVal;
}
/**
* Returns true if this property is "softly" inherited
* e.g. his value equals inherit
*/
public boolean isSoftlyInherited() {
return identVal == inherit;
}
/**
* Returns a string representation of the object.
*/
public String toString() {
if (identVal != null) {
return identVal.toString();
}
if (perVal != null) {
return perVal.toString();
}
if (lenVal != null) {
return lenVal.toString();
}
// the default
return auto.toString();
}
/**
* Compares two properties for equality.
*
* @param property The other property.
*/
public boolean equals(CssProperty property) {
try {
CssWidth w = (CssWidth) property;
return (identVal == w.identVal) &&
((perVal == null && w.perVal == null) ||
(perVal != null && perVal.equals(w.perVal))) &&
((lenVal == null && w.lenVal == null) ||
(lenVal != null && lenVal.equals(w.lenVal)));
} catch (ClassCastException ex) {
return false;
}
}
/**
* Is the value of this property is a default value.
* It is used by all macro for the function <code>print</code>
*/
public boolean isDefault() {
return identVal == auto;
}
}
Received on Tuesday, 27 September 2011 08:15:56 UTC