Class CharScannerSyntaxBean

    • Constructor Detail

      • CharScannerSyntaxBean

        public CharScannerSyntaxBean()
        The constructor.
    • Method Detail

      • setEscape

        public void setEscape​(char escape)
        Parameters:
        escape - is the escape to set.
      • getQuoteStart

        public char getQuoteStart()
        Description copied from interface: CharScannerSyntax
        This method gets the character used to start a quotation that should be terminated by a quote-end character. The text inside the quote is taken as is (without the quote characters).
        Common examples for quote characters are the single quotes (') and double quotes (").
        Specified by:
        getQuoteStart in interface CharScannerSyntax
        Returns:
        the character used to start a quotation or '\0' to disable.
      • setQuoteStart

        public void setQuoteStart​(char quoteStart)
        Parameters:
        quoteStart - is the quoteStart to set.
      • setQuoteEnd

        public void setQuoteEnd​(char quoteEnd)
        Parameters:
        quoteEnd - is the quoteEnd to set.
      • setQuote

        public void setQuote​(char quote)
        This method sets both the quote-start and quote-end character.
        Parameters:
        quote - the quote character to set.
      • getQuoteEscape

        public char getQuoteEscape()
        Description copied from interface: CharScannerSyntax
        This method gets the character used to escape the quote-end character within a quotation. This may be the quote-end itself so a duplicate quote-end represents a single occurrence of that character within a quotation. Otherwise the escape may be any other character.
        Please note that this escaping is only active within a quotation opened by quote-start and only escapes the quote-end character and nothing else so in any other case the quote-escape is treated as a regular character.
        quote-start quote-end quote-escape input output
        ' ' ' a'bc'd abcd
        ' ' ' a'b''c'd ab'cd
        ' ' \ a'b\c\'d\\'e'f ab\c'd\'ef
        Specified by:
        getQuoteEscape in interface CharScannerSyntax
        Returns:
        the character used to escape the quote-end character or '\0' to disable.
      • setQuoteEscape

        public void setQuoteEscape​(char quoteEscape)
        Parameters:
        quoteEscape - is the quote-escape to set.
      • isQuoteEscapeLazy

        public boolean isQuoteEscapeLazy()
        Description copied from interface: CharScannerSyntax
        If quote-start, quote-end and quote-escape all point to the same character (which is NOT '\0'), then this method determines if quotation escaping is lazy. This means that outside a quotation a double occurrence of the quote character is NOT treated as quotation but as escaped quote character. Otherwise if NOT lazy, the double quote character is treated as quotation representing the empty sequence.
        Here are some examples:
        quote-start quote-end quote-escape quote-escape-lazy input output
        ' ' ' true '' '
        ' ' ' false ''  
        ' ' ' true '''' ''
        ' ' ' false '''' '
        ' ' ' true '''a' 'a
        ' ' ' false '''a' 'a

        Please note that for '''a' the complete sequence is treated as quote if quote-escape-lazy is false and otherwise just the trailing 'a'.
        Specified by:
        isQuoteEscapeLazy in interface CharScannerSyntax
        Returns:
        true if quote-escaping is lazy, false otherwise.
      • setQuoteEscapeLazy

        public void setQuoteEscapeLazy​(boolean quoteEscapeLazy)
        Parameters:
        quoteEscapeLazy - the quote-escape-lazy flag to set
      • getAltQuoteStart

        public char getAltQuoteStart()
        This method gets the alternative character used to start a quotation that should be terminated by a alt-quote-end character. The text inside the quote is taken as is (without the quote characters).
        Specified by:
        getAltQuoteStart in interface CharScannerSyntax
        Returns:
        the alternative character used to start a quotation or '\0' for no quotation.
        See Also:
        getQuoteStart()
      • setAltQuoteStart

        public void setAltQuoteStart​(char alternativeQuoteStart)
        Parameters:
        alternativeQuoteStart - is the alt-quote-start character to set.
      • getAltQuoteEnd

        public char getAltQuoteEnd()
        This method gets the alternative character used to end a quotation.
        Specified by:
        getAltQuoteEnd in interface CharScannerSyntax
        Returns:
        the alternative character used to end a quotation.
        See Also:
        getAltQuoteStart()
      • setAltQuoteEnd

        public void setAltQuoteEnd​(char alternativeQuoteEnd)
        This method sets the alt-quote-end character.
        Parameters:
        alternativeQuoteEnd - is the alt-quote-end character.
      • setAltQuote

        public void setAltQuote​(char altQuote)
        This method sets both the alt-quote-start and alt-quote-end character.
        Parameters:
        altQuote - the alt-quote character to set.
      • setAltQuoteEscape

        public void setAltQuoteEscape​(char altQuoteEscape)
        Parameters:
        altQuoteEscape - is the alt-quote-escape to set.
      • setAltQuoteEscapeLazy

        public void setAltQuoteEscapeLazy​(boolean altQuoteEscapeLazy)
        Parameters:
        altQuoteEscapeLazy - the alt-quote-lazy flag to set
      • setEntityStart

        public void setEntityStart​(char entityStart)
        Parameters:
        entityStart - the entity-start to set.
      • setEntityEnd

        public void setEntityEnd​(char entityEnd)
        Parameters:
        entityEnd - the entity-end to set.
      • resolveEntity

        public String resolveEntity​(String entity)
        This method resolves the given entity.
        E.g. if entity-start is '&' and CharScannerSyntax.getEntityEnd() is ';' then if the string "&lt;" is scanned, this method is called with "lt" as entity argument and may return "<". ATTENTION:
        You need to override this method if you want to use entities.
        Specified by:
        resolveEntity in interface CharScannerSyntax
        Parameters:
        entity - is the entity string that was found surrounded by entity-start and entity-end excluding these characters.
        Returns:
        the decoded entity.