Class CssParserStateController

java.lang.Object
com.itextpdf.styledxmlparser.css.parse.syntax.CssParserStateController

public final class CssParserStateController extends Object
State machine that will parse content into a style sheet.
  • Field Details

    • currentState

      private IParserState currentState
      The current state.
    • isCurrentRuleSupported

      private boolean isCurrentRuleSupported
      Indicates if the current rule is supported.
    • previousActiveState

      private IParserState previousActiveState
      The previous active state (excluding comments).
    • buffer

      private StringBuilder buffer
      A buffer to store temporary results.
    • currentSelector

      private String currentSelector
      The current selector.
    • styleSheet

      private CssStyleSheet styleSheet
      The style sheet.
    • nestedAtRules

      private Stack<CssNestedAtRule> nestedAtRules
      The nested At-rules.
    • storedPropertiesWithoutSelector

      private Stack<List<CssDeclaration>> storedPropertiesWithoutSelector
      The stored properties without selector.
    • SUPPORTED_RULES

      private static final Set<String> SUPPORTED_RULES
      Set of the supported rules.
    • CONDITIONAL_GROUP_RULES

      private static final Set<String> CONDITIONAL_GROUP_RULES
      Set of conditional group rules.
    • commentStartState

      private final IParserState commentStartState
      The comment start state.
    • commendEndState

      private final IParserState commendEndState
      The commend end state.
    • commendInnerState

      private final IParserState commendInnerState
      The commend inner state.
    • unknownState

      private final IParserState unknownState
      The unknown state.
    • ruleState

      private final IParserState ruleState
      The rule state.
    • propertiesState

      private final IParserState propertiesState
      The properties state.
    • conditionalGroupAtRuleBlockState

      private final IParserState conditionalGroupAtRuleBlockState
      The conditional group at rule block state.
    • atRuleBlockState

      private final IParserState atRuleBlockState
      The At-rule block state.
    • uriResolver

      private UriResolver uriResolver
      The URI resolver.
  • Constructor Details

  • Method Details

    • process

      public void process(char ch)
      Process a character using the current state.
      Parameters:
      ch - the character
    • getParsingResult

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

      private void setState(IParserState state)
      Sets the current state.
      Parameters:
      state - the new state
    • processProperties

      private void processProperties(String selector, String properties)
      Processes the properties.
      Parameters:
      selector - the selector
      properties - the properties
    • processProperties

      private void processProperties(String properties)
      Processes the properties.
      Parameters:
      properties - the properties
    • normalizeDeclarationURIs

      private void normalizeDeclarationURIs(List<CssDeclaration> declarations)
      Normalizes the declaration URIs.
      Parameters:
      declarations - the declarations
    • processSemicolonAtRule

      private void processSemicolonAtRule(String ruleStr)
      Processes the semicolon At-rule.
      Parameters:
      ruleStr - the rule str
    • processFinishedAtRuleBlock

      private void processFinishedAtRuleBlock(CssNestedAtRule atRule)
      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