Class CssParserStateController
java.lang.Object
com.itextpdf.styledxmlparser.css.parse.syntax.CssParserStateController
State machine that will parse content into a style sheet.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final IParserState
The At-rule block state.private StringBuilder
A buffer to store temporary results.private final IParserState
The commend end state.private final IParserState
The commend inner state.private final IParserState
The comment start state.Set of conditional group rules.private final IParserState
The conditional group at rule block state.private String
The current selector.private IParserState
The current state.private boolean
Indicates if the current rule is supported.private Stack
<CssNestedAtRule> The nested At-rules.private IParserState
The previous active state (excluding comments).private final IParserState
The properties state.private final IParserState
The rule state.private Stack
<List<CssDeclaration>> The stored properties without selector.private CssStyleSheet
The style sheet.Set of the supported rules.private final IParserState
The unknown state.private UriResolver
The URI resolver. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a newCssParserStateController
instance.CssParserStateController
(String baseUrl) Creates a newCssParserStateController
instance. -
Method Summary
Modifier and TypeMethodDescription(package private) void
appendToBuffer
(char ch) Appends a character to the buffer.private boolean
Checks if the current At-rule is a conditional group rule (or if it's unsupported).(package private) void
Enter the At-rule block state.(package private) void
Enter the comment end state.(package private) void
Enter the comment inner state.(package private) void
Enter the comment start state.(package private) void
Enter the conditional group At-rule block state.(package private) void
Enter the previous active state.(package private) void
Enter the properties state.(package private) void
Enter the rule state.(package private) void
Enter the rule state, based on whether the current state is unsupported or conditional.(package private) void
Enter the unknown state.(package private) void
Enter the unknown state if nested blocks are finished.(package private) void
Finish the At-rule block.(package private) String
Gets the contents of the buffer.Gets the resulting style sheet.private boolean
Checks if is current rule is supported.private void
normalizeDeclarationURIs
(List<CssDeclaration> declarations) Normalizes the declaration URIs.void
process
(char ch) Process a character using the current state.private void
Processes the finished At-rule block.private void
processProperties
(String properties) Processes the properties.private void
processProperties
(String selector, String properties) Processes the properties.private void
processSemicolonAtRule
(String ruleStr) Processes the semicolon At-rule.(package private) void
Push the block preceding At-rule.(package private) void
Resets the buffer.private void
Save the active state.private void
setState
(IParserState state) Sets the current state.(package private) void
Store the current properties.(package private) void
Store the current properties without selector.(package private) void
Store the current selector.(package private) void
Store the semicolon At-rule.
-
Field Details
-
currentState
The current state. -
isCurrentRuleSupported
private boolean isCurrentRuleSupportedIndicates if the current rule is supported. -
previousActiveState
The previous active state (excluding comments). -
buffer
A buffer to store temporary results. -
currentSelector
The current selector. -
styleSheet
The style sheet. -
nestedAtRules
The nested At-rules. -
storedPropertiesWithoutSelector
The stored properties without selector. -
SUPPORTED_RULES
Set of the supported rules. -
CONDITIONAL_GROUP_RULES
Set of conditional group rules. -
commentStartState
The comment start state. -
commendEndState
The commend end state. -
commendInnerState
The commend inner state. -
unknownState
The unknown state. -
ruleState
The rule state. -
propertiesState
The properties state. -
conditionalGroupAtRuleBlockState
The conditional group at rule block state. -
atRuleBlockState
The At-rule block state. -
uriResolver
The URI resolver.
-
-
Constructor Details
-
CssParserStateController
public CssParserStateController()Creates a newCssParserStateController
instance. -
CssParserStateController
Creates a newCssParserStateController
instance.- Parameters:
baseUrl
- the base URL
-
-
Method Details
-
process
public void process(char ch) Process a character using the current state.- Parameters:
ch
- the character
-
getParsingResult
Gets the resulting style sheet.- Returns:
- the resulting style sheet
-
appendToBuffer
void appendToBuffer(char ch) Appends a character to the buffer.- Parameters:
ch
- the character
-
getBufferContents
String getBufferContents()Gets the contents of the buffer.- Returns:
- the buffer contents
-
resetBuffer
void resetBuffer()Resets the buffer. -
enterPreviousActiveState
void enterPreviousActiveState()Enter the previous active state. -
enterCommentStartState
void enterCommentStartState()Enter the comment start state. -
enterCommentEndState
void enterCommentEndState()Enter the comment end state. -
enterCommentInnerState
void enterCommentInnerState()Enter the comment inner state. -
enterRuleState
void enterRuleState()Enter the rule state. -
enterUnknownStateIfNestedBlocksFinished
void enterUnknownStateIfNestedBlocksFinished()Enter the unknown state if nested blocks are finished. -
enterRuleStateBasedOnItsType
void enterRuleStateBasedOnItsType()Enter the rule state, based on whether the current state is unsupported or conditional. -
enterUnknownState
void enterUnknownState()Enter the unknown state. -
enterAtRuleBlockState
void enterAtRuleBlockState()Enter the At-rule block state. -
enterConditionalGroupAtRuleBlockState
void enterConditionalGroupAtRuleBlockState()Enter the conditional group At-rule block state. -
enterPropertiesState
void enterPropertiesState()Enter the properties state. -
storeCurrentSelector
void storeCurrentSelector()Store the current selector. -
storeCurrentProperties
void storeCurrentProperties()Store the current properties. -
storeCurrentPropertiesWithoutSelector
void storeCurrentPropertiesWithoutSelector()Store the current properties without selector. -
storeSemicolonAtRule
void storeSemicolonAtRule()Store the semicolon At-rule. -
finishAtRuleBlock
void finishAtRuleBlock()Finish the At-rule block. -
pushBlockPrecedingAtRule
void pushBlockPrecedingAtRule()Push the block preceding At-rule. -
saveActiveState
private void saveActiveState()Save the active state. -
setState
Sets the current state.- Parameters:
state
- the new state
-
processProperties
Processes the properties.- Parameters:
selector
- the selectorproperties
- the properties
-
processProperties
Processes the properties.- Parameters:
properties
- the properties
-
normalizeDeclarationURIs
Normalizes the declaration URIs.- Parameters:
declarations
- the declarations
-
processSemicolonAtRule
Processes the semicolon At-rule.- Parameters:
ruleStr
- the rule str
-
processFinishedAtRuleBlock
Processes the finished At-rule block.- Parameters:
atRule
- the at rule
-
isCurrentRuleSupported
private boolean isCurrentRuleSupported()Checks if is current rule is supported.- Returns:
- true, if the current rule is supported
-
currentAtRuleIsConditionalGroupRule
private boolean currentAtRuleIsConditionalGroupRule()Checks if the current At-rule is a conditional group rule (or if it's unsupported).- Returns:
- true, if the current At-rule is unsupported or conditional
-