Package com.openhtmltopdf.css.parser
Class CSSParser
- java.lang.Object
-
- com.openhtmltopdf.css.parser.CSSParser
-
public class CSSParser extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
CSSParser.NamespacePair
-
Field Summary
Fields Modifier and Type Field Description private CSSErrorHandler
_errorHandler
private Lexer
_lexer
private java.util.Map<java.lang.String,java.lang.String>
_namespaces
private Token
_saved
private boolean
_supportCMYKColors
private java.lang.String
_URI
private static java.util.Set<java.lang.String>
CSS21_PSEUDO_ELEMENTS
private static java.util.Set<java.lang.String>
SUPPORTED_PSEUDO_ELEMENTS
-
Constructor Summary
Constructors Constructor Description CSSParser(CSSErrorHandler errorHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addPseudoClassOrElement(Token t, Selector selector)
private void
addPseudoClassOrElementFunction(Token t, Selector selector)
private void
addPseudoElement(Token t, Selector selector)
private void
attrib(Selector selector)
private boolean
checkCSSName(CSSName cssName, java.lang.String propertyName)
private void
class_selector(Selector selector)
private Token
combinator()
private int
convertToInteger(char hexchar1)
private int
convertToInteger(char hexchar1, char hexchar2)
private FSCMYKColor
createCMYKColorFromFunction(java.util.List<PropertyValue> params)
private FSRGBColor
createRGBColorFromFunction(java.util.List<PropertyValue> params)
private void
declaration(Ruleset ruleset, boolean inFontFace)
private void
declaration_list(Ruleset ruleset, boolean expectEOF, boolean expectAtRule, boolean inFontFace)
private void
error(CSSParseException e, java.lang.String what, boolean rethrowEOF)
private java.util.List<PropertyValue>
expr(boolean literal)
private java.lang.String
extractNumber(Token t)
private java.lang.String
extractUnit(Token t)
private void
font_face(Stylesheet stylesheet)
private PropertyValue
function()
private int
getCurrentLine()
CSSErrorHandler
getErrorHandler()
private java.lang.String
getRawTokenValue()
private java.lang.String
getTokenValue(Token t)
private java.lang.String
getTokenValue(Token t, boolean literal)
private PropertyValue
hexcolor()
private void
import_rule(Stylesheet stylesheet)
private static boolean
isHexChar(char c)
private boolean
isHexString(java.lang.String s)
boolean
isSupportCMYKColors()
private Token
la()
private void
margin(Stylesheet stylesheet, PageRule pageRule)
private void
media(Stylesheet stylesheet)
private java.lang.String
medium()
private Selector
mergeSimpleSelectors(java.util.List<Selector> selectors, java.util.List<Token> combinators)
private void
namespace()
private Token
next()
private void
operator()
private void
page(Stylesheet stylesheet)
private float
parseCMYKColorComponent(PropertyValue value, int paramNo)
Ruleset
parseDeclaration(int origin, java.lang.String text)
PropertyValue
parsePropertyValue(CSSName cssName, int origin, java.lang.String expr)
Stylesheet
parseStylesheet(java.lang.String uri, int origin, java.io.Reader reader)
private void
prio()
private static java.lang.String
processEscapes(char[] ch, int start, int end)
private java.lang.String
property()
private void
pseudo(Selector selector)
private java.lang.String
pseudo_page()
private void
push(Token t)
private void
recover(boolean needBlock, boolean stopBeforeBlockClose)
void
reset(java.io.Reader r)
private void
ruleset(RulesetContainer container)
private void
selector(Ruleset ruleset)
void
setErrorHandler(CSSErrorHandler errorHandler)
void
setSupportCMYKColors(boolean b)
private java.lang.String
sign(float sign)
private Selector
simple_selector(Ruleset ruleset)
private void
skip_whitespace()
private void
skip_whitespace_and_cdocdc()
private void
stylesheet(Stylesheet stylesheet)
private PropertyValue
term(boolean literal)
private CSSParser.NamespacePair
typed_value(boolean matchAttribute)
private int
unary_operator()
-
-
-
Field Detail
-
SUPPORTED_PSEUDO_ELEMENTS
private static final java.util.Set<java.lang.String> SUPPORTED_PSEUDO_ELEMENTS
-
CSS21_PSEUDO_ELEMENTS
private static final java.util.Set<java.lang.String> CSS21_PSEUDO_ELEMENTS
-
_saved
private Token _saved
-
_lexer
private Lexer _lexer
-
_errorHandler
private CSSErrorHandler _errorHandler
-
_URI
private java.lang.String _URI
-
_namespaces
private java.util.Map<java.lang.String,java.lang.String> _namespaces
-
_supportCMYKColors
private boolean _supportCMYKColors
-
-
Constructor Detail
-
CSSParser
public CSSParser(CSSErrorHandler errorHandler)
-
-
Method Detail
-
parseStylesheet
public Stylesheet parseStylesheet(java.lang.String uri, int origin, java.io.Reader reader) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDeclaration
public Ruleset parseDeclaration(int origin, java.lang.String text)
-
parsePropertyValue
public PropertyValue parsePropertyValue(CSSName cssName, int origin, java.lang.String expr)
-
stylesheet
private void stylesheet(Stylesheet stylesheet) throws java.io.IOException
- Throws:
java.io.IOException
-
import_rule
private void import_rule(Stylesheet stylesheet) throws java.io.IOException
- Throws:
java.io.IOException
-
namespace
private void namespace() throws java.io.IOException
- Throws:
java.io.IOException
-
media
private void media(Stylesheet stylesheet) throws java.io.IOException
- Throws:
java.io.IOException
-
medium
private java.lang.String medium() throws java.io.IOException
- Throws:
java.io.IOException
-
font_face
private void font_face(Stylesheet stylesheet) throws java.io.IOException
- Throws:
java.io.IOException
-
page
private void page(Stylesheet stylesheet) throws java.io.IOException
- Throws:
java.io.IOException
-
margin
private void margin(Stylesheet stylesheet, PageRule pageRule) throws java.io.IOException
- Throws:
java.io.IOException
-
pseudo_page
private java.lang.String pseudo_page() throws java.io.IOException
- Throws:
java.io.IOException
-
operator
private void operator() throws java.io.IOException
- Throws:
java.io.IOException
-
combinator
private Token combinator() throws java.io.IOException
- Throws:
java.io.IOException
-
unary_operator
private int unary_operator() throws java.io.IOException
- Throws:
java.io.IOException
-
property
private java.lang.String property() throws java.io.IOException
- Throws:
java.io.IOException
-
declaration_list
private void declaration_list(Ruleset ruleset, boolean expectEOF, boolean expectAtRule, boolean inFontFace) throws java.io.IOException
- Throws:
java.io.IOException
-
ruleset
private void ruleset(RulesetContainer container) throws java.io.IOException
- Throws:
java.io.IOException
-
selector
private void selector(Ruleset ruleset) throws java.io.IOException
- Throws:
java.io.IOException
-
mergeSimpleSelectors
private Selector mergeSimpleSelectors(java.util.List<Selector> selectors, java.util.List<Token> combinators)
-
simple_selector
private Selector simple_selector(Ruleset ruleset) throws java.io.IOException
- Throws:
java.io.IOException
-
typed_value
private CSSParser.NamespacePair typed_value(boolean matchAttribute) throws java.io.IOException
- Throws:
java.io.IOException
-
class_selector
private void class_selector(Selector selector) throws java.io.IOException
- Throws:
java.io.IOException
-
attrib
private void attrib(Selector selector) throws java.io.IOException
- Throws:
java.io.IOException
-
addPseudoClassOrElementFunction
private void addPseudoClassOrElementFunction(Token t, Selector selector) throws java.io.IOException
- Throws:
java.io.IOException
-
pseudo
private void pseudo(Selector selector) throws java.io.IOException
- Throws:
java.io.IOException
-
checkCSSName
private boolean checkCSSName(CSSName cssName, java.lang.String propertyName)
-
declaration
private void declaration(Ruleset ruleset, boolean inFontFace) throws java.io.IOException
- Throws:
java.io.IOException
-
prio
private void prio() throws java.io.IOException
- Throws:
java.io.IOException
-
expr
private java.util.List<PropertyValue> expr(boolean literal) throws java.io.IOException
- Throws:
java.io.IOException
-
extractNumber
private java.lang.String extractNumber(Token t)
-
extractUnit
private java.lang.String extractUnit(Token t)
-
sign
private java.lang.String sign(float sign)
-
term
private PropertyValue term(boolean literal) throws java.io.IOException
- Throws:
java.io.IOException
-
function
private PropertyValue function() throws java.io.IOException
- Throws:
java.io.IOException
-
createCMYKColorFromFunction
private FSCMYKColor createCMYKColorFromFunction(java.util.List<PropertyValue> params)
-
parseCMYKColorComponent
private float parseCMYKColorComponent(PropertyValue value, int paramNo)
-
createRGBColorFromFunction
private FSRGBColor createRGBColorFromFunction(java.util.List<PropertyValue> params)
-
hexcolor
private PropertyValue hexcolor() throws java.io.IOException
- Throws:
java.io.IOException
-
isHexString
private boolean isHexString(java.lang.String s)
-
convertToInteger
private int convertToInteger(char hexchar1, char hexchar2)
-
convertToInteger
private int convertToInteger(char hexchar1)
-
skip_whitespace
private void skip_whitespace() throws java.io.IOException
- Throws:
java.io.IOException
-
skip_whitespace_and_cdocdc
private void skip_whitespace_and_cdocdc() throws java.io.IOException
- Throws:
java.io.IOException
-
next
private Token next() throws java.io.IOException
- Throws:
java.io.IOException
-
push
private void push(Token t)
-
la
private Token la() throws java.io.IOException
- Throws:
java.io.IOException
-
error
private void error(CSSParseException e, java.lang.String what, boolean rethrowEOF)
-
recover
private void recover(boolean needBlock, boolean stopBeforeBlockClose) throws java.io.IOException
- Throws:
java.io.IOException
-
reset
public void reset(java.io.Reader r)
-
getErrorHandler
public CSSErrorHandler getErrorHandler()
-
setErrorHandler
public void setErrorHandler(CSSErrorHandler errorHandler)
-
getRawTokenValue
private java.lang.String getRawTokenValue()
-
getTokenValue
private java.lang.String getTokenValue(Token t)
-
getTokenValue
private java.lang.String getTokenValue(Token t, boolean literal)
-
getCurrentLine
private int getCurrentLine()
-
isHexChar
private static boolean isHexChar(char c)
-
processEscapes
private static java.lang.String processEscapes(char[] ch, int start, int end)
-
isSupportCMYKColors
public boolean isSupportCMYKColors()
-
setSupportCMYKColors
public void setSupportCMYKColors(boolean b)
-
-