Class CssDeclarationValueTokenizer

  • Direct Known Subclasses:
    CssDeclarationVarParser

    public class CssDeclarationValueTokenizer
    extends java.lang.Object
    Tokenizer for CSS declaration values.
    • Field Detail

      • src

        protected final java.lang.String src
        The source string.
      • index

        protected int index
        The current index.
      • stringQuote

        protected char stringQuote
        The quote string, either "'" or "\"".
      • inString

        protected boolean inString
        Indicates if we're inside a string.
      • functionDepth

        protected int functionDepth
        The depth.
    • Constructor Detail

      • CssDeclarationValueTokenizer

        public CssDeclarationValueTokenizer​(java.lang.String propertyValue)
        Creates a new CssDeclarationValueTokenizer instance.
        Parameters:
        propertyValue - the property value
    • Method Detail

      • parseFunctionToken

        protected CssDeclarationValueTokenizer.Token parseFunctionToken​(CssDeclarationValueTokenizer.Token token,
                                                                        int funcDepth)
        Parse internal function token to full function token, e.g.

        calc(calc( to calc(calc(50px + 5px) + 20px)

        Parameters:
        token - function token to expand
        funcDepth - function depth for resolving, e.g. if you want to resolve only nested function, not the whole declaration
        Returns:
        expanded function token
      • isSpaceNext

        private boolean isSpaceNext()
      • processFunctionToken

        private void processFunctionToken​(CssDeclarationValueTokenizer.Token token,
                                          java.lang.StringBuilder functionBuffer)
        Processes a function token.
        Parameters:
        token - the token
        functionBuffer - the function buffer
      • isHexDigit

        private static boolean isHexDigit​(char c)
        Checks if a character is a hexadecimal digit.
        Parameters:
        c - the character
        Returns:
        true, if it's a hexadecimal digit