Class ValueFactory

java.lang.Object
io.sf.carte.doc.style.css.property.ValueFactory

public class ValueFactory extends Object
Factory of CSS values.
  • Constructor Details

    • ValueFactory

      public ValueFactory()
    • ValueFactory

      public ValueFactory(byte flags)
  • Method Details

    • isSizeSACUnit

      public static boolean isSizeSACUnit(LexicalUnit unit)
      Tests whether the unit type of the given SAC lexical unit can apply to size (e.g. block size).
      Parameters:
      unit - the SAC lexical unit.
      Returns:
      true if it is a size type (including percentage and unknown dimension), false otherwise.
    • isResolutionSACUnit

      public static boolean isResolutionSACUnit(LexicalUnit unit)
      Tests whether the unit type of the given SAC lexical unit is a resolution unit.
      Parameters:
      unit - the SAC lexical unit value.
      Returns:
      true if it is a resolution type, false otherwise.
    • isPositiveSizeSACUnit

      public static boolean isPositiveSizeSACUnit(LexicalUnit unit)
      Tests whether the given SAC value can 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

      public static boolean isSizeOrNumberSACUnit(LexicalUnit unit)
      Tests whether the given SAC unit type is a size or numeric unit.
      Parameters:
      unit - the lexical value.
      Returns:
      true if it is a size or numeric type (including percentage and unknown dimension), false otherwise.
    • isPlainNumberOrPercentSACUnit

      public static boolean isPlainNumberOrPercentSACUnit(LexicalUnit unit)
      Tests whether the given SAC 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.
    • isNumericSACUnit

      public static boolean isNumericSACUnit(LexicalUnit unit)
      Tests whether the given SAC unit type is numeric.
      Parameters:
      unit - the lexical value.
      Returns:
      true if is a numeric type, false otherwise.
    • isAngleSACUnit

      public static boolean isAngleSACUnit(LexicalUnit unit)
      Tests whether the given SAC unit type is an angle unit.
      Parameters:
      unit - the lexical value.
      Returns:
      true if is an angle type, false otherwise.
    • isTimeSACUnit

      public static boolean isTimeSACUnit(LexicalUnit unit)
      Tests whether the given SAC unit type is a time unit.
      Parameters:
      unit - the lexical value.
      Returns:
      true if is a time type, false otherwise.
    • parseProperty

      public StyleValue parseProperty(String value) throws DOMException
      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

      public StyleValue parseProperty(String value, Parser parser) throws DOMException
      Parses a property value with the supplied parser.
      Parameters:
      value - the string containing the property value.
      parser - the SAC 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 SAC 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 SAC parser.
      Returns:
      the CSSValue object containing the parsed value.
      Throws:
      DOMException - if a problem was found parsing the property.
    • parseMediaFeature

      public PrimitiveValue parseMediaFeature(String feature) throws DOMException
      Parses a feature value.

      Parameters:
      feature - the string containing the feature value
      Returns:
      the CSSPrimitiveValue object containing the parsed value.
      Throws:
      DOMException - if a problem was found parsing the feature.
    • parseMediaFeature

      public PrimitiveValue parseMediaFeature(String feature, Parser2 parser) throws DOMException
      Parses a feature value.

      Parameters:
      feature - the string containing the feature value.
      parser - the parser used to parse values.
      Returns:
      the CSSPrimitiveValue object containing the parsed value.
      Throws:
      DOMException - if a problem was found parsing the feature.
    • createCSSValue

      public StyleValue createCSSValue(LexicalUnit lunit) throws DOMException
      Creates a CSSValue according to the given lexical value.

      The value is assumed to be stand-alone, independent of a shorthand property.

      Parameters:
      lunit - the lexical value.
      Returns:
      a CSSValue associated to the given lexical value, or null if the lexical unit was not appropriate.
      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 of a shorthand property.

      Parameters:
      lunit - the lexical value.
      style - the (style) declaration that should handle errors, or null to not handle errors.
      Returns:
      a CSSValue associated to the given lexical value, or null if the lexical unit was not appropriate.
      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

      public ValueItem createCSSValueItem(LexicalUnit lunit, boolean subproperty) throws DOMException
      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.
    • appendValueString

      public LexicalUnit appendValueString(StringBuilder buf, LexicalUnit lunit)
    • appendMinifiedValueString

      public LexicalUnit appendMinifiedValueString(StringBuilder buf, LexicalUnit lunit)
    • hasFactoryFlag

      public boolean hasFactoryFlag(byte flag)
      Check whether the factory has the given flag set.
      Parameters:
      flag - the flag.
      Returns:
      true if the flag is set.
    • domPrimitiveType

      public static short domPrimitiveType(short sacType)
      Translate a SAC lexical type into a CSS primitive unit type.
      Parameters:
      sacType - the SAC type.
      Returns:
      the unit type according to CSSPrimitiveValue.