Class BaseSimpleParser

    • Field Detail

      • camelContext

        protected org.apache.camel.CamelContext camelContext
      • expression

        protected final String expression
      • previousIndex

        protected int previousIndex
      • index

        protected int index
      • allowEscape

        protected boolean allowEscape
    • Constructor Detail

      • BaseSimpleParser

        protected BaseSimpleParser​(org.apache.camel.CamelContext camelContext,
                                   String expression,
                                   boolean allowEscape)
    • Method Detail

      • nextToken

        protected void nextToken()
        Advances the parser position to the next known SimpleToken in the input.
      • nextToken

        protected void nextToken​(TokenType... filter)
        Advances the parser position to the next known SimpleToken in the input.
        Parameters:
        filter - filter for accepted token types
      • clear

        protected void clear()
        Clears the parser state, which means it can be used for parsing a new input.
      • prepareBlocks

        protected void prepareBlocks()
        Prepares blocks, such as functions, single or double quoted texts.

        This process prepares the Blocks in the AST. This is done by linking child nodes which are within the start and end of the blocks, as child to the given block. This is done to have the AST graph updated and prepared properly.

        So when the AST node is later used to create the Predicates or Expressions to be used by Camel then the AST graph has a linked and prepared graph of nodes which represent the input expression.

      • prepareUnaryExpressions

        protected void prepareUnaryExpressions()
        Prepares unary expressions.

        This process prepares the unary expressions in the AST. This is done by linking the unary operator with the left hand side node, to have the AST graph updated and prepared properly.

        So when the AST node is later used to create the Predicates or Expressions to be used by Camel then the AST graph has a linked and prepared graph of nodes which represent the input expression.

      • accept

        protected boolean accept​(TokenType accept)
        Accept the given token.

        This is to be used by the grammar to accept tokens and then continue parsing using the grammar, such as a function grammar.

        Parameters:
        accept - the token
        Returns:
        true if accepted, false otherwise.
      • expectAndAcceptMore

        protected void expectAndAcceptMore​(TokenType expect)
        Expect and accept a given number of tokens in sequence.

        This is used to accept whitespace or string literals.

        Parameters:
        expect - the token to accept