java.lang.Object
io.sf.carte.doc.style.css.property.ValueFactory
- All Implemented Interfaces:
CSSValueFactory
Factory of CSS values.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
The return value ofparseBracketList(LexicalUnit, AbstractCSSStyleDeclaration, boolean)
. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionappendMinifiedValueString
(StringBuilder buf, LexicalUnit lunit) appendValueString
(StringBuilder buf, LexicalUnit lunit) Creates a primitive value according to the given lexical value.createCSSValue
(LexicalUnit lunit) Creates a CSSValue according to the given lexical value.createCSSValue
(LexicalUnit lunit, AbstractCSSStyleDeclaration style) Creates a CSSValue according to the given lexical value.createCSSValue
(LexicalUnit lunit, AbstractCSSStyleDeclaration style, boolean subproperty) Creates a CSSValue according to the given lexical value.createCSSValueItem
(LexicalUnit lunit, boolean subproperty) Creates a CSSValue simple item according to the given lexical value.boolean
hasFactoryFlag
(short flag) Check whether the factory has the given flag set.static boolean
isAngleSACUnit
(LexicalUnit unit) Tests whether the given NSAC unit type is an angle unit.static boolean
Tests whether the given NSAC unit type is a plain number (real or integer) or a percentage.static boolean
Tests whether the given NSAC value could represent a size greater than zero (e.g. font size).static boolean
Tests whether the unit type of the given NSAC lexical unit is a resolution unit.static boolean
Tests whether the given NSAC unit type is a size or numeric unit (or a unknown unit).static boolean
isSizeSACUnit
(LexicalUnit unit) Tests whether the unit type of the given NSAC lexical unit can apply to size (e.g.static boolean
isTimeSACUnit
(LexicalUnit unit) Tests whether the given NSAC unit type is a time unit.parseBracketList
(LexicalUnit nlu, AbstractCSSStyleDeclaration style, boolean subproperty) Parse a bracket list.parseMediaFeature
(String feature) Parses a feature value.parseMediaFeature
(String feature, Parser parser) Parses a feature value.parseProperty
(String value) Parses a property value.parseProperty
(String value, Parser parser) Parses a property value with the supplied parser.parseProperty
(String propertyName, String value, Parser parser) Parses a property value with the supplied parser.parseProperty
(String propertyName, String value, CSSParser parser) Parses a property value with the supplied parser.
-
Constructor Details
-
ValueFactory
public ValueFactory() -
ValueFactory
public ValueFactory(short flags)
-
-
Method Details
-
isSizeSACUnit
Tests whether the unit type of the given NSAC lexical unit can apply to size (e.g. block size).- Parameters:
unit
- the NSAC lexical unit.- Returns:
true
if it is a size type (including percentage and unknown dimension), false otherwise.
-
isResolutionSACUnit
Tests whether the unit type of the given NSAC lexical unit is a resolution unit.- Parameters:
unit
- the NSAC lexical unit value.- Returns:
true
if it is a resolution type,false
otherwise.
-
isPositiveSizeSACUnit
Tests whether the given NSAC value could represent a size greater than zero (e.g. font size).- Parameters:
unit
- the lexical value.- Returns:
true
if it is a size type (including percentage and unknown dimension), false otherwise.
-
isSizeOrNumberSACUnit
Tests whether the given NSAC unit type is a size or numeric unit (or a unknown unit).- Parameters:
unit
- the lexical value.- Returns:
true
if it is a size or numeric type (including percentage), false otherwise.
-
isPlainNumberOrPercentSACUnit
Tests whether the given NSAC unit type is a plain number (real or integer) or a percentage.- Parameters:
unit
- the lexical value.- Returns:
true
if is a plain number or a percentage,false
otherwise.
-
isAngleSACUnit
Tests whether the given NSAC unit type is an angle unit.- Parameters:
unit
- the lexical value.- Returns:
true
if is an angle type,false
otherwise.
-
isTimeSACUnit
Tests whether the given NSAC unit type is a time unit.- Parameters:
unit
- the lexical value.- Returns:
true
if is a time type,false
otherwise.
-
parseProperty
Parses a property value. Assumes that the property is not a shorthand sub-property.- Parameters:
value
- the string containing the property value.- Returns:
- the CSSValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the property.
-
parseProperty
Parses a property value with the supplied parser.- Parameters:
value
- the string containing the property value.parser
- the NSAC parser.- Returns:
- the CSSValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the property.
-
parseProperty
public StyleValue parseProperty(String propertyName, String value, CSSParser parser) throws DOMException Parses a property value with the supplied parser.- Parameters:
propertyName
- the string containing the property name.value
- the string containing the property value.parser
- the NSAC parser.- Returns:
- the CSSValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the property.
-
parseProperty
public StyleValue parseProperty(String propertyName, String value, Parser parser) throws DOMException Parses a property value with the supplied parser.- Parameters:
value
- the string containing the property value.parser
- the NSAC parser.- Returns:
- the CSSValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the property.
-
parseMediaFeature
Parses a feature value.- Parameters:
feature
- the string containing the feature value- Returns:
- the PrimitiveValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the feature.
-
parseMediaFeature
Parses a feature value.- Parameters:
feature
- the string containing the feature value.parser
- the parser used to parse values.- Returns:
- the PrimitiveValue object containing the parsed value.
- Throws:
DOMException
- if a problem was found parsing the feature.
-
createCSSValue
Creates a CSSValue according to the given lexical value.The value is assumed to be stand-alone, independent.
- Specified by:
createCSSValue
in interfaceCSSValueFactory
- Parameters:
lunit
- the lexical value.- Returns:
- a
CSSValue
associated to the given lexical value, ornull
if a bracket list was empty. - Throws:
DOMException
- if the lexical unit had a wrong content to create a value.
-
createCSSValue
public StyleValue createCSSValue(LexicalUnit lunit, AbstractCSSStyleDeclaration style) throws DOMException Creates a CSSValue according to the given lexical value.The value is assumed to be stand-alone, independent.
- Parameters:
lunit
- the lexical value.style
- the (style) declaration that should handle errors, ornull
to not handle errors.- Returns:
- a
CSSValue
associated to the given lexical value, ornull
if a bracket list was empty. - Throws:
DOMException
- if the lexical unit had a wrong content to create a value.
-
createCSSValue
public StyleValue createCSSValue(LexicalUnit lunit, AbstractCSSStyleDeclaration style, boolean subproperty) throws DOMException Creates a CSSValue according to the given lexical value.- Parameters:
lunit
- the lexical value.style
- the (style) declaration that should handle errors, ornull
to not handle errors.subproperty
- the flag marking whether it is a sub-property.- Returns:
- a
CSSValue
associated to the given lexical value, ornull
if a bracket list was empty. - Throws:
DOMException
- if the lexical unit had a wrong content to create a value.
-
parseBracketList
public ValueFactory.ListValueItem parseBracketList(LexicalUnit nlu, AbstractCSSStyleDeclaration style, boolean subproperty) Parse a bracket list.- Parameters:
nlu
- the lexical unit containing the first item in the bracket list.style
- the style declaration to report issues to.subproperty
-true
if the value must be a subproperty.- Returns:
- the bracket list, or
null
if the list was empty.
-
createCSSValueItem
Creates a CSSValue simple item according to the given lexical value.This method either returns a value or throws an exception, but cannot return null.
- Parameters:
lunit
- the lexical value.subproperty
- true if the value is created under the umbrella of a shorthand set.- Returns:
- a ValueItem associated to the given lexical value.
- Throws:
DOMException
- if a problem was found setting the lexical value to a CSS value.
-
createCSSPrimitiveValue
Creates a primitive value according to the given lexical value.This method won't return a ratio value (callers must check for values spanning more than one lexical unit).
If the lexical unit is a slash operator and is in
content
context, returns aLexicalValue
.If the lexical unit is an operator and a parameter, returns an
UnknownValue
.- Specified by:
createCSSPrimitiveValue
in interfaceCSSValueFactory
- Parameters:
lunit
- the lexical value.- Returns:
- the primitive value.
- Throws:
DOMException
- if the lexical unit does not represent a valid primitive.
-
appendValueString
-
appendMinifiedValueString
-
hasFactoryFlag
public boolean hasFactoryFlag(short flag) Check whether the factory has the given flag set.- Parameters:
flag
- the flag.- Returns:
true
if the flag is set.
-