private void checkNumberIsInteger(CSSName cssName, CSSPrimitiveValue value) { if ((int)value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) != Math.round(value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER))) { throw new CSSParseException("The value " + value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) + " in " + cssName + " must be an integer", -1); } }
protected void checkIdentOrIntegerType(CSSName cssName, CSSPrimitiveValue value) { int type = value.getPrimitiveType(); if ((type != CSSPrimitiveValue.CSS_IDENT && type != CSSPrimitiveValue.CSS_NUMBER) || (type == CSSPrimitiveValue.CSS_NUMBER && (int)value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) != Math.round(value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)))) { throw new CSSParseException("Value for " + cssName + " must be an identifier or an integer", -1); } }
protected void checkInteger(CSSName cssName, CSSPrimitiveValue value) { int type = value.getPrimitiveType(); if (type != CSSPrimitiveValue.CSS_NUMBER || (type == CSSPrimitiveValue.CSS_NUMBER && (int)value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) != Math.round(value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)))) { throw new CSSParseException("Value for " + cssName + " must be an integer", -1); } }
protected boolean isLength(CSSPrimitiveValue value) { int unit = value.getPrimitiveType(); return unit == CSSPrimitiveValue.CSS_EMS || unit == CSSPrimitiveValue.CSS_EXS || unit == CSSPrimitiveValue.CSS_PX || unit == CSSPrimitiveValue.CSS_IN || unit == CSSPrimitiveValue.CSS_CM || unit == CSSPrimitiveValue.CSS_MM || unit == CSSPrimitiveValue.CSS_PT || unit == CSSPrimitiveValue.CSS_PC || (unit == CSSPrimitiveValue.CSS_NUMBER && value.getFloatValue(CSSPrimitiveValue.CSS_IN) == 0.0f); }
case 2: if (ValueConstants.isNumber(cpv.getPrimitiveType())) { val = new Float(cpv.getFloatValue(cpv.getPrimitiveType())); } else { val = "";//actual.cssValue().getCssText();
@Override public List buildDeclarations( CSSName cssName, List values, int origin, boolean important, boolean inheritAllowed) { checkValueCount(cssName, 1, values.size()); CSSPrimitiveValue value = (CSSPrimitiveValue)values.get(0); checkInheritAllowed(value, inheritAllowed); if (value.getCssValueType() != CSSPrimitiveValue.CSS_INHERIT) { checkIdentOrIntegerType(cssName, value); if (value.getPrimitiveType() == CSSPrimitiveValue.CSS_IDENT) { IdentValue ident = checkIdent(cssName, value); checkValidity(cssName, ALLOWED, ident); } else if (value.getFloatValue(CSSPrimitiveValue.CSS_NUMBER) < 1) { throw new CSSParseException("column-count must be one or greater", -1); } } return Collections.singletonList( new PropertyDeclaration(cssName, value, important, origin)); } }