Class CssVariableUtil
- java.lang.Object
-
- com.itextpdf.styledxmlparser.util.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 mapprivate 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 recursivelyprivate 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
-
-
-
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
-
-
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
-
expandShorthand
private static java.util.List<CssDeclaration> expandShorthand(CssDeclaration declaration)
-
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 propertyexpression
- css expressionstyles
- 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 valuestyles
- element styleslevel
- 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
-
-