org.apache.batik.css.parser
Class Parser

java.lang.Object
  extended by org.apache.batik.css.parser.Parser
All Implemented Interfaces:
ExtendedParser, Localizable, org.w3c.css.sac.Parser

public class Parser
extends Object
implements ExtendedParser, Localizable

This class implements the Parser interface.


Field Summary
static String BUNDLE_CLASSNAME
          The default resource bundle base name.
protected  org.w3c.css.sac.ConditionFactory conditionFactory
          The condition factory.
protected  int current
          The current lexical unit.
protected  org.w3c.css.sac.DocumentHandler documentHandler
          The document handler.
protected  String documentURI
          The document URI.
protected  org.w3c.css.sac.ErrorHandler errorHandler
          The error handler.
protected  LocalizableSupport localizableSupport
          The localizable support.
protected  String pseudoElement
          To store the current pseudo element.
protected  Scanner scanner
          The scanner used to scan the input source.
protected  org.w3c.css.sac.SelectorFactory selectorFactory
          The selector factory.
 
Constructor Summary
Parser()
           
 
Method Summary
protected  org.w3c.css.sac.CSSParseException createCSSParseException(String key)
          Creates a parse exception.
protected  org.w3c.css.sac.CSSParseException createCSSParseException(String key, Object[] params)
          Creates a parse exception.
protected  Scanner createScanner(org.w3c.css.sac.InputSource source)
          Creates a scanner, given an InputSource.
protected  org.w3c.css.sac.LexicalUnit dimension(boolean positive, org.w3c.css.sac.LexicalUnit prev)
          Converts the current lexical unit to a dimension.
 String formatMessage(String key, Object[] args)
          Implements Localizable.formatMessage(String,Object[]).
 Locale getLocale()
          Implements Localizable.getLocale().
 String getParserVersion()
          SAC: Implements Parser.getParserVersion().
protected  org.w3c.css.sac.LexicalUnit hexcolor(org.w3c.css.sac.LexicalUnit prev)
          Converts a hash unit to a RGB color.
protected  boolean isPseudoElement(String s)
          Tells whether or not the given string represents a pseudo-element.
protected  int next()
          Advances to the next token, ignoring comments.
protected  int nextIgnoreSpaces()
          Advances to the next token and skip the spaces, ignoring comments.
protected  float number(boolean positive)
          Converts the current lexical unit to a float.
protected  void parseAtRule()
          Parses an unknown rule.
protected  org.w3c.css.sac.LexicalUnit parseExpression(boolean param)
          Parses a CSS2 expression.
protected  void parseFontFaceRule()
          Parses a font-face rule.
protected  org.w3c.css.sac.LexicalUnit parseFunction(boolean positive, org.w3c.css.sac.LexicalUnit prev)
          Parses a CSS2 function.
protected  void parseImportRule()
          Parses an import rule.
 org.w3c.css.sac.SACMediaList parseMedia(String mediaText)
          Implements ExtendedParser.parseMedia(String).
protected  CSSSACMediaList parseMediaList()
          Parses a media list.
protected  void parseMediaRule()
          Parses a media rule.
protected  void parsePageRule()
          Parses a page rule.
 boolean parsePriority(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parsePriority(InputSource).
 boolean parsePriority(String source)
          Implements ExtendedParser.parsePriority(String).
protected  boolean parsePriorityInternal()
          Parses the priority using the current scanner.
 org.w3c.css.sac.LexicalUnit parsePropertyValue(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parsePropertyValue(InputSource).
 org.w3c.css.sac.LexicalUnit parsePropertyValue(String source)
          Implements ExtendedParser.parsePropertyValue(String).
protected  org.w3c.css.sac.LexicalUnit parsePropertyValueInternal()
          Parses property value using the current scanner.
protected  void parseRule()
          Parses a rule.
 void parseRule(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parseRule(InputSource).
 void parseRule(String source)
          Implements ExtendedParser.parseRule(String).
protected  void parseRuleInternal()
          Parses a rule using the current scanner.
protected  void parseRuleSet()
          Parses a ruleset.
protected  org.w3c.css.sac.Selector parseSelector()
          Parses a selector.
protected  org.w3c.css.sac.SelectorList parseSelectorList()
          Parses a selector list
 org.w3c.css.sac.SelectorList parseSelectors(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parseSelectors(InputSource).
 org.w3c.css.sac.SelectorList parseSelectors(String source)
          Implements ExtendedParser.parseSelectors(String).
protected  org.w3c.css.sac.SelectorList parseSelectorsInternal()
          Parses selectors using the current scanner.
protected  org.w3c.css.sac.SimpleSelector parseSimpleSelector()
          Parses a simple selector.
protected  void parseStyleDeclaration(boolean inSheet)
          Parses the given reader.
 void parseStyleDeclaration(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parseStyleDeclaration(InputSource).
 void parseStyleDeclaration(String source)
          Implements ExtendedParser.parseStyleDeclaration(String).
protected  void parseStyleDeclarationInternal()
          Parses a style declaration using the current scanner.
 void parseStyleSheet(org.w3c.css.sac.InputSource source)
          SAC: Implements Parser.parseStyleSheet(InputSource).
 void parseStyleSheet(String uri)
          SAC: Implements Parser.parseStyleSheet(String).
protected  org.w3c.css.sac.LexicalUnit parseTerm(org.w3c.css.sac.LexicalUnit prev)
          Parses a CSS2 term.
protected  void reportError(org.w3c.css.sac.CSSParseException e)
          Reports a parsing error.
protected  void reportError(String key)
          Reports a parsing error.
protected  void reportError(String key, Object[] params)
          Reports a parsing error.
 void setConditionFactory(org.w3c.css.sac.ConditionFactory factory)
          SAC: Implements Parser.setConditionFactory(ConditionFactory).
 void setDocumentHandler(org.w3c.css.sac.DocumentHandler handler)
          SAC: Implements Parser.setDocumentHandler(DocumentHandler).
 void setErrorHandler(org.w3c.css.sac.ErrorHandler handler)
          SAC: Implements Parser.setErrorHandler(ErrorHandler).
 void setLocale(Locale locale)
          SAC: Implements Parser.setLocale(Locale).
 void setSelectorFactory(org.w3c.css.sac.SelectorFactory factory)
          SAC: Implements Parser.setSelectorFactory(SelectorFactory).
protected  int skipSpaces()
          Skips the white spaces.
protected  int skipSpacesAndCDOCDC()
          Skips the white spaces and CDO/CDC units.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUNDLE_CLASSNAME

public static final 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 String pseudoElement
To store the current pseudo element.


documentURI

protected String documentURI
The document URI.

Constructor Detail

Parser

public Parser()
Method Detail

getParserVersion

public 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(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

getLocale

public Locale getLocale()
Implements Localizable.getLocale().

Specified by:
getLocale in interface Localizable

formatMessage

public String formatMessage(String key,
                            Object[] args)
                     throws MissingResourceException
Implements Localizable.formatMessage(String,Object[]).

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:
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,
                            IOException
SAC: Implements Parser.parseStyleSheet(InputSource).

Specified by:
parseStyleSheet in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parseStyleSheet

public void parseStyleSheet(String uri)
                     throws org.w3c.css.sac.CSSException,
                            IOException
SAC: Implements Parser.parseStyleSheet(String).

Specified by:
parseStyleSheet in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parseStyleDeclaration

public void parseStyleDeclaration(org.w3c.css.sac.InputSource source)
                           throws org.w3c.css.sac.CSSException,
                                  IOException
SAC: Implements Parser.parseStyleDeclaration(InputSource).

Specified by:
parseStyleDeclaration in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parseStyleDeclarationInternal

protected void parseStyleDeclarationInternal()
                                      throws org.w3c.css.sac.CSSException,
                                             IOException
Parses a style declaration using the current scanner.

Throws:
org.w3c.css.sac.CSSException
IOException

parseRule

public void parseRule(org.w3c.css.sac.InputSource source)
               throws org.w3c.css.sac.CSSException,
                      IOException
SAC: Implements Parser.parseRule(InputSource).

Specified by:
parseRule in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parseRuleInternal

protected void parseRuleInternal()
                          throws org.w3c.css.sac.CSSException,
                                 IOException
Parses a rule using the current scanner.

Throws:
org.w3c.css.sac.CSSException
IOException

parseSelectors

public org.w3c.css.sac.SelectorList parseSelectors(org.w3c.css.sac.InputSource source)
                                            throws org.w3c.css.sac.CSSException,
                                                   IOException
SAC: Implements Parser.parseSelectors(InputSource).

Specified by:
parseSelectors in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parseSelectorsInternal

protected org.w3c.css.sac.SelectorList parseSelectorsInternal()
                                                       throws org.w3c.css.sac.CSSException,
                                                              IOException
Parses selectors using the current scanner.

Throws:
org.w3c.css.sac.CSSException
IOException

parsePropertyValue

public org.w3c.css.sac.LexicalUnit parsePropertyValue(org.w3c.css.sac.InputSource source)
                                               throws org.w3c.css.sac.CSSException,
                                                      IOException
SAC: Implements Parser.parsePropertyValue(InputSource).

Specified by:
parsePropertyValue in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parsePropertyValueInternal

protected org.w3c.css.sac.LexicalUnit parsePropertyValueInternal()
                                                          throws org.w3c.css.sac.CSSException,
                                                                 IOException
Parses property value using the current scanner.

Throws:
org.w3c.css.sac.CSSException
IOException

parsePriority

public boolean parsePriority(org.w3c.css.sac.InputSource source)
                      throws org.w3c.css.sac.CSSException,
                             IOException
SAC: Implements Parser.parsePriority(InputSource).

Specified by:
parsePriority in interface org.w3c.css.sac.Parser
Throws:
org.w3c.css.sac.CSSException
IOException

parsePriorityInternal

protected boolean parsePriorityInternal()
                                 throws org.w3c.css.sac.CSSException,
                                        IOException
Parses the priority using the current scanner.

Throws:
org.w3c.css.sac.CSSException
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(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(String key)
Reports a parsing error.


reportError

protected void reportError(String key,
                           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(String key)
Creates a parse exception.


createCSSParseException

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


parseStyleDeclaration

public void parseStyleDeclaration(String source)
                           throws org.w3c.css.sac.CSSException,
                                  IOException
Implements ExtendedParser.parseStyleDeclaration(String).

Specified by:
parseStyleDeclaration in interface ExtendedParser
Parameters:
source - The declaration.
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

parseRule

public void parseRule(String source)
               throws org.w3c.css.sac.CSSException,
                      IOException
Implements ExtendedParser.parseRule(String).

Specified by:
parseRule in interface ExtendedParser
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
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(String source)
                                            throws org.w3c.css.sac.CSSException,
                                                   IOException
Implements ExtendedParser.parseSelectors(String).

Specified by:
parseSelectors in interface ExtendedParser
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
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(String source)
                                               throws org.w3c.css.sac.CSSException,
                                                      IOException
Implements ExtendedParser.parsePropertyValue(String).

Specified by:
parsePropertyValue in interface ExtendedParser
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.

parsePriority

public boolean parsePriority(String source)
                      throws org.w3c.css.sac.CSSException,
                             IOException
Implements ExtendedParser.parsePriority(String).

Specified by:
parsePriority in interface ExtendedParser
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
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(String mediaText)
                                        throws org.w3c.css.sac.CSSException,
                                               IOException
Implements ExtendedParser.parseMedia(String).

Specified by:
parseMedia in interface ExtendedParser
Throws:
org.w3c.css.sac.CSSException - Any CSS exception, possibly wrapping another exception.
IOException - An IO exception from the parser, possibly from a byte stream or character stream supplied by the application.


Copyright © 2008 Apache Software Foundation. All Rights Reserved.