## org.hibernate.sql.ordering.antlr
Class OrderByFragmentParser

    java.lang.Object
      antlr.Parser
          antlr.LLkParser
              org.hibernate.sql.ordering.antlr.GeneratedOrderByFragmentParser
                  org.hibernate.sql.ordering.antlr.OrderByFragmentParser

All Implemented Interfaces:
  OrderByTemplateTokenTypes

    public class OrderByFragmentParser

extends GeneratedOrderByFragmentParser

Extension of the Antlr-generated parser for the purpose of adding our custom parsing behavior.

Author:
  Steve Ebersole

Field Summary

Fields inherited from class org.hibernate.sql.ordering.antlr.GeneratedOrderByFragmentParser
`_tokenNames, _tokenSet_0, _tokenSet_1, _tokenSet_2, _tokenSet_3, _tokenSet_4, _tokenSet_5, _tokenSet_6, _tokenSet_7, _tokenSet_8`

Fields inherited from class antlr.Parser
`astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap`

Fields inherited from interface org.hibernate.sql.ordering.antlr.OrderByTemplateTokenTypes
`ASCENDING, CLOSE_PAREN, COLLATE, COLUMN_REF, COMMA, DESCENDING, DOT, EOF, ESCqs, EXPONENT, EXPR_LIST, FLOAT_SUFFIX, HARD_QUOTE, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IDENT_LIST, LITERAL_ascending, LITERAL_descending, NULL_TREE_LOOKAHEAD, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OPEN_PAREN, ORDER_BY, ORDER_SPEC, QUOTED_STRING, SORT_KEY, SORT_SPEC, WS`

Constructor Summary
`OrderByFragmentParser(antlr.TokenStream lexer, TranslationContext context)`

Method Summary
`protected boolean` `isFunctionName(antlr.collections.AST ast)` A check to see if the text of the given node represents a known function name.
`protected antlr.collections.AST` `postProcessSortSpecification(antlr.collections.AST sortSpec)` Allow post processing of each `sort specification`
`protected antlr.collections.AST` `quotedIdentifier(antlr.collections.AST ident)` Process the given node as a quote identifier.
`protected antlr.collections.AST` `quotedString(antlr.collections.AST ident)` Process the given node as a quote string.
`protected antlr.collections.AST` `resolveFunction(antlr.collections.AST ast)` Process the given node as a function.
`protected antlr.collections.AST` `resolveIdent(antlr.collections.AST ident)` Process the given node as an IDENT.
`protected void` `trace(String msg)` Method for logging execution trace information.
`void` `traceIn(String ruleName)`
`void` `traceOut(String ruleName)`

Methods inherited from class org.hibernate.sql.ordering.antlr.GeneratedOrderByFragmentParser
`buildTokenTypeASTClassMap, collationName, collationSpecification, expression, extractText, functionCall, functionCallCheck, functionName, functionParameter, functionParameterList, orderByFragment, orderingSpecification, simplePropertyPath, sortKey, sortSpecification`

Methods inherited from class antlr.LLkParser
`consume, LA, LT`

Methods inherited from class antlr.Parser

`addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, panic, recover, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, reportError, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### OrderByFragmentParser

    public OrderByFragmentParser(antlr.TokenStream lexer,
                                 TranslationContext context)

Method Detail

### traceIn

    public void traceIn(String ruleName)

  Overrides:
    `traceIn` in class `antlr.LLkParser`

### traceOut

    public void traceOut(String ruleName)

  Overrides:
    `traceOut` in class `antlr.LLkParser`

### trace

    protected void trace(String msg)

  Method for logging execution trace information.

  Overrides:
    `trace` in class `GeneratedOrderByFragmentParser`
  Parameters:
    `msg` - The trace message.

### quotedIdentifier

    protected antlr.collections.AST quotedIdentifier(antlr.collections.AST ident)

  Process the given node as a quote identifier. These need to be quoted in the dialect-specific way.

  Overrides:
    `quotedIdentifier` in class `GeneratedOrderByFragmentParser`
  Parameters:
    `ident` - The quoted-identifier node.
  Returns:
    The processed node.
  See Also:
    `Dialect.quote(java.lang.String)`

### quotedString

    protected antlr.collections.AST quotedString(antlr.collections.AST ident)

  Process the given node as a quote string.

  Overrides:
    `quotedString` in class `GeneratedOrderByFragmentParser`
  Parameters:
    `ident` - The quoted string. This is used from within function param recognition, and represents a SQL-quoted string.
  Returns:
    The processed node.

### isFunctionName

    protected boolean isFunctionName(antlr.collections.AST ast)

  A check to see if the text of the given node represents a known function name.

  Overrides:
    `isFunctionName` in class `GeneratedOrderByFragmentParser`
  Parameters:
    `ast` - The node whose text we want to check.
  Returns:
    True if the node's text is a known function name, false otherwise.
  See Also:
    `SQLFunctionRegistry`

### resolveFunction

    protected antlr.collections.AST resolveFunction(antlr.collections.AST ast)

  Process the given node as a function.

  Overrides:
    `resolveFunction` in class `GeneratedOrderByFragmentParser`
  Returns:
    The processed node.

### resolveIdent

    protected antlr.collections.AST resolveIdent(antlr.collections.AST ident)

  Process the given node as an IDENT. May represent either a column reference or a property reference.

  Overrides:
    `resolveIdent` in class `GeneratedOrderByFragmentParser`
  Parameters:
    `ident` - The node whose text represents either a column or property reference.
  Returns:
    The processed node.

### postProcessSortSpecification

    protected antlr.collections.AST postProcessSortSpecification(antlr.collections.AST sortSpec)

  Allow post processing of each `sort specification`

  Overrides:
    `postProcessSortSpecification` in class `GeneratedOrderByFragmentParser`
  Returns:
    The processed sort specification subtree.

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.