Class CssVariableUtil


  • public class CssVariableUtil
    extends java.lang.Object
    Utility class for resolving css variables in declarations.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static org.slf4j.Logger LOGGER  
      private static int MAX_CSS_VAR_COUNT
      Max count of css var expressions in single declaration.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private CssVariableUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean containsVarExpression​(java.lang.String expression)
      Checks for var expression.
      private static java.util.List<CssDeclaration> expandShorthand​(CssDeclaration declaration)  
      static boolean isCssVariable​(java.lang.String property)
      Checks property for css variable.
      static void resolveCssVariables​(java.util.Map<java.lang.String,​java.lang.String> styles)
      Resolve all css variables in style map
      private static CssDeclaration resolveSingleVar​(java.lang.String key, java.lang.String expression, java.util.Map<java.lang.String,​java.lang.String> styles)
      Resolve single css var expression recursively
      private static java.lang.String resolveVarExpression​(java.lang.String varExpression, java.util.Map<java.lang.String,​java.lang.String> styles)
      Resolve css variable expression, if there is a fallback value and primary value is null, default value will be returned.
      private static java.lang.String resolveVarRecursively​(java.lang.String expression, java.util.Map<java.lang.String,​java.lang.String> styles, int level)
      Resolves variables without taking into account default values
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • MAX_CSS_VAR_COUNT

        private static final int MAX_CSS_VAR_COUNT
        Max count of css var expressions in single declaration.
        See Also:
        Constant Field Values
    • Constructor Detail

      • CssVariableUtil

        private CssVariableUtil()
    • Method Detail

      • resolveCssVariables

        public static void resolveCssVariables​(java.util.Map<java.lang.String,​java.lang.String> styles)
        Resolve all css variables in style map
        Parameters:
        styles - css styles map
      • containsVarExpression

        public static boolean containsVarExpression​(java.lang.String expression)
        Checks for var expression.
        Parameters:
        expression - css expression to check
        Returns:
        true if there is a var expression, false otherwise
      • isCssVariable

        public static boolean isCssVariable​(java.lang.String property)
        Checks property for css variable.
        Parameters:
        property - css property to check
        Returns:
        true if it is a css variable, false otherwise
      • resolveSingleVar

        private static CssDeclaration resolveSingleVar​(java.lang.String key,
                                                       java.lang.String expression,
                                                       java.util.Map<java.lang.String,​java.lang.String> styles)
        Resolve single css var expression recursively
        Parameters:
        key - css style property
        expression - css expression
        styles - css styles map
        Returns:
        resolved var expression if present or null if none found
      • resolveVarRecursively

        private static java.lang.String resolveVarRecursively​(java.lang.String expression,
                                                              java.util.Map<java.lang.String,​java.lang.String> styles,
                                                              int level)
        Resolves variables without taking into account default values
        Parameters:
        expression - var value
        styles - element styles
        level - current var expression nesting level
        Returns:
        resolved var expression
      • resolveVarExpression

        private static java.lang.String resolveVarExpression​(java.lang.String varExpression,
                                                             java.util.Map<java.lang.String,​java.lang.String> styles)
        Resolve css variable expression, if there is a fallback value and primary value is null, default value will be returned.
        Parameters:
        varExpression - expression as the following: var(.+?(?:,.*?)?)
        styles - map of styles containing resolved variables
        Returns:
        resolved var expression