Class Parser

  • All Implemented Interfaces:
    ExtendedParser, Localizable, org.w3c.css.sac.Parser

    public class Parser
    extends java.lang.Object
    implements ExtendedParser, Localizable
    This class implements the Parser interface.
    Version:
    $Id: Parser.java 1802297 2017-07-18 13:58:12Z ssteiner $
    • Field Detail

      • BUNDLE_CLASSNAME

        public static final java.lang.String BUNDLE_CLASSNAME
        The default resource bundle base name.
        See Also:
        Constant Field Values
      • localizableSupport

        protected LocalizableSupport localizableSupport
        The localizable support.
      • scanner

        protected Scanner scanner
        The scanner used to scan the input source.
      • current

        protected int current
        The current lexical unit.
      • documentHandler

        protected org.w3c.css.sac.DocumentHandler documentHandler
        The document handler.
      • selectorFactory

        protected org.w3c.css.sac.SelectorFactory selectorFactory
        The selector factory.
      • conditionFactory

        protected org.w3c.css.sac.ConditionFactory conditionFactory
        The condition factory.
      • errorHandler

        protected org.w3c.css.sac.ErrorHandler errorHandler
        The error handler.
      • pseudoElement

        protected java.lang.String pseudoElement
        To store the current pseudo element.
      • documentURI

        protected java.lang.String documentURI
        The document URI.
    • Constructor Detail

      • Parser

        public Parser()
    • Method Detail

      • getParserVersion

        public java.lang.String getParserVersion()
        SAC: Implements Parser.getParserVersion().
        Specified by:
        getParserVersion in interface org.w3c.css.sac.Parser
        Returns:
        "http://www.w3.org/TR/REC-CSS2".
      • setLocale

        public void setLocale​(java.util.Locale locale)
                       throws org.w3c.css.sac.CSSException
        SAC: Implements Parser.setLocale(Locale).
        Specified by:
        setLocale in interface Localizable
        Specified by:
        setLocale in interface org.w3c.css.sac.Parser
        Parameters:
        locale - The locale to set.
        Throws:
        org.w3c.css.sac.CSSException
      • formatMessage

        public java.lang.String formatMessage​(java.lang.String key,
                                              java.lang.Object[] args)
                                       throws java.util.MissingResourceException
        Specified by:
        formatMessage in interface Localizable
        Parameters:
        key - The key used to retreive the message from the resource bundle.
        args - The objects that compose the message.
        Throws:
        java.util.MissingResourceException - if the key is not in the bundle.
      • setDocumentHandler

        public void setDocumentHandler​(org.w3c.css.sac.DocumentHandler handler)
        SAC: Implements Parser.setDocumentHandler(DocumentHandler).
        Specified by:
        setDocumentHandler in interface org.w3c.css.sac.Parser
      • setSelectorFactory

        public void setSelectorFactory​(org.w3c.css.sac.SelectorFactory factory)
        SAC: Implements Parser.setSelectorFactory(SelectorFactory).
        Specified by:
        setSelectorFactory in interface org.w3c.css.sac.Parser
      • setConditionFactory

        public void setConditionFactory​(org.w3c.css.sac.ConditionFactory factory)
        SAC: Implements Parser.setConditionFactory(ConditionFactory).
        Specified by:
        setConditionFactory in interface org.w3c.css.sac.Parser
      • setErrorHandler

        public void setErrorHandler​(org.w3c.css.sac.ErrorHandler handler)
        SAC: Implements Parser.setErrorHandler(ErrorHandler).
        Specified by:
        setErrorHandler in interface org.w3c.css.sac.Parser
      • parseStyleSheet

        public void parseStyleSheet​(org.w3c.css.sac.InputSource source)
                             throws org.w3c.css.sac.CSSException,
                                    java.io.IOException
        SAC: Implements Parser.parseStyleSheet(InputSource).
        Specified by:
        parseStyleSheet in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseStyleSheet

        public void parseStyleSheet​(java.lang.String uri)
                             throws org.w3c.css.sac.CSSException,
                                    java.io.IOException
        SAC: Implements Parser.parseStyleSheet(String).
        Specified by:
        parseStyleSheet in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseStyleDeclaration

        public void parseStyleDeclaration​(org.w3c.css.sac.InputSource source)
                                   throws org.w3c.css.sac.CSSException,
                                          java.io.IOException
        SAC: Implements Parser.parseStyleDeclaration(InputSource).
        Specified by:
        parseStyleDeclaration in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseStyleDeclarationInternal

        protected void parseStyleDeclarationInternal()
                                              throws org.w3c.css.sac.CSSException,
                                                     java.io.IOException
        Parses a style declaration using the current scanner.
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseRule

        public void parseRule​(org.w3c.css.sac.InputSource source)
                       throws org.w3c.css.sac.CSSException,
                              java.io.IOException
        SAC: Implements Parser.parseRule(InputSource).
        Specified by:
        parseRule in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseRuleInternal

        protected void parseRuleInternal()
                                  throws org.w3c.css.sac.CSSException,
                                         java.io.IOException
        Parses a rule using the current scanner.
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseSelectors

        public org.w3c.css.sac.SelectorList parseSelectors​(org.w3c.css.sac.InputSource source)
                                                    throws org.w3c.css.sac.CSSException,
                                                           java.io.IOException
        SAC: Implements Parser.parseSelectors(InputSource).
        Specified by:
        parseSelectors in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseSelectorsInternal

        protected org.w3c.css.sac.SelectorList parseSelectorsInternal()
                                                               throws org.w3c.css.sac.CSSException,
                                                                      java.io.IOException
        Parses selectors using the current scanner.
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parsePropertyValue

        public org.w3c.css.sac.LexicalUnit parsePropertyValue​(org.w3c.css.sac.InputSource source)
                                                       throws org.w3c.css.sac.CSSException,
                                                              java.io.IOException
        SAC: Implements Parser.parsePropertyValue(InputSource).
        Specified by:
        parsePropertyValue in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parsePropertyValueInternal

        protected org.w3c.css.sac.LexicalUnit parsePropertyValueInternal()
                                                                  throws org.w3c.css.sac.CSSException,
                                                                         java.io.IOException
        Parses property value using the current scanner.
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parsePriority

        public boolean parsePriority​(org.w3c.css.sac.InputSource source)
                              throws org.w3c.css.sac.CSSException,
                                     java.io.IOException
        SAC: Implements Parser.parsePriority(InputSource).
        Specified by:
        parsePriority in interface org.w3c.css.sac.Parser
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parsePriorityInternal

        protected boolean parsePriorityInternal()
                                         throws org.w3c.css.sac.CSSException,
                                                java.io.IOException
        Parses the priority using the current scanner.
        Throws:
        org.w3c.css.sac.CSSException
        java.io.IOException
      • parseRule

        protected void parseRule()
        Parses a rule.
      • parseAtRule

        protected void parseAtRule()
        Parses an unknown rule.
      • parseImportRule

        protected void parseImportRule()
        Parses an import rule. Assumes the current token is '@import'.
      • parseMediaList

        protected CSSSACMediaList parseMediaList()
        Parses a media list.
      • parseFontFaceRule

        protected void parseFontFaceRule()
        Parses a font-face rule.
      • parsePageRule

        protected void parsePageRule()
        Parses a page rule.
      • parseMediaRule

        protected void parseMediaRule()
        Parses a media rule.
      • parseRuleSet

        protected void parseRuleSet()
        Parses a ruleset.
      • parseSelectorList

        protected org.w3c.css.sac.SelectorList parseSelectorList()
        Parses a selector list
      • parseSelector

        protected org.w3c.css.sac.Selector parseSelector()
        Parses a selector.
      • parseSimpleSelector

        protected org.w3c.css.sac.SimpleSelector parseSimpleSelector()
        Parses a simple selector.
      • isPseudoElement

        protected boolean isPseudoElement​(java.lang.String s)
        Tells whether or not the given string represents a pseudo-element.
      • parseStyleDeclaration

        protected void parseStyleDeclaration​(boolean inSheet)
                                      throws org.w3c.css.sac.CSSException
        Parses the given reader.
        Throws:
        org.w3c.css.sac.CSSException
      • parseExpression

        protected org.w3c.css.sac.LexicalUnit parseExpression​(boolean param)
        Parses a CSS2 expression.
        Parameters:
        param - whether the expression to be parsed is a function parameter
      • parseTerm

        protected org.w3c.css.sac.LexicalUnit parseTerm​(org.w3c.css.sac.LexicalUnit prev)
        Parses a CSS2 term.
      • parseFunction

        protected org.w3c.css.sac.LexicalUnit parseFunction​(boolean positive,
                                                            org.w3c.css.sac.LexicalUnit prev)
        Parses a CSS2 function.
      • hexcolor

        protected org.w3c.css.sac.LexicalUnit hexcolor​(org.w3c.css.sac.LexicalUnit prev)
        Converts a hash unit to a RGB color.
      • createScanner

        protected Scanner createScanner​(org.w3c.css.sac.InputSource source)
        Creates a scanner, given an InputSource.
      • skipSpaces

        protected int skipSpaces()
        Skips the white spaces.
      • skipSpacesAndCDOCDC

        protected int skipSpacesAndCDOCDC()
        Skips the white spaces and CDO/CDC units.
      • number

        protected float number​(boolean positive)
        Converts the current lexical unit to a float.
      • dimension

        protected org.w3c.css.sac.LexicalUnit dimension​(boolean positive,
                                                        org.w3c.css.sac.LexicalUnit prev)
        Converts the current lexical unit to a dimension.
      • next

        protected int next()
        Advances to the next token, ignoring comments.
      • nextIgnoreSpaces

        protected int nextIgnoreSpaces()
        Advances to the next token and skip the spaces, ignoring comments.
      • reportError

        protected void reportError​(java.lang.String key)
        Reports a parsing error.
      • reportError

        protected void reportError​(java.lang.String key,
                                   java.lang.Object[] params)
        Reports a parsing error.
      • reportError

        protected void reportError​(org.w3c.css.sac.CSSParseException e)
        Reports a parsing error.
      • createCSSParseException

        protected org.w3c.css.sac.CSSParseException createCSSParseException​(java.lang.String key)
        Creates a parse exception.
      • createCSSParseException

        protected org.w3c.css.sac.CSSParseException createCSSParseException​(java.lang.String key,
                                                                            java.lang.Object[] params)
        Creates a parse exception.
      • parseStyleDeclaration

        public void parseStyleDeclaration​(java.lang.String source)
                                   throws org.w3c.css.sac.CSSException,
                                          java.io.IOException
        Specified by:
        parseStyleDeclaration in interface ExtendedParser
        Parameters:
        source - The declaration.
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
      • parseRule

        public void parseRule​(java.lang.String source)
                       throws org.w3c.css.sac.CSSException,
                              java.io.IOException
        Specified by:
        parseRule in interface ExtendedParser
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
      • parseSelectors

        public org.w3c.css.sac.SelectorList parseSelectors​(java.lang.String source)
                                                    throws org.w3c.css.sac.CSSException,
                                                           java.io.IOException
        Specified by:
        parseSelectors in interface ExtendedParser
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
      • parsePropertyValue

        public org.w3c.css.sac.LexicalUnit parsePropertyValue​(java.lang.String source)
                                                       throws org.w3c.css.sac.CSSException,
                                                              java.io.IOException
        Specified by:
        parsePropertyValue in interface ExtendedParser
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
      • parsePriority

        public boolean parsePriority​(java.lang.String source)
                              throws org.w3c.css.sac.CSSException,
                                     java.io.IOException
        Specified by:
        parsePriority in interface ExtendedParser
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.
      • parseMedia

        public org.w3c.css.sac.SACMediaList parseMedia​(java.lang.String mediaText)
                                                throws org.w3c.css.sac.CSSException,
                                                       java.io.IOException
        Specified by:
        parseMedia in interface ExtendedParser
        Throws:
        org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
        java.io.IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.