Package 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 (semantic analysis, etc).
-
-
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, _tokenSet_9
-
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, FIRST, FLOAT_SUFFIX, HARD_QUOTE, HEX_DIGIT, ID_LETTER, ID_START_LETTER, IDENT, IDENT_LIST, LAST, LITERAL_ascending, LITERAL_descending, NULL_ORDER, NULL_TREE_LOOKAHEAD, NULLS, NUM_DOUBLE, NUM_FLOAT, NUM_INT, NUM_LONG, OPEN_PAREN, ORDER_BY, ORDER_SPEC, QUOTED_STRING, SORT_KEY, SORT_SPEC, WS
-
-
Constructor Summary
Constructors Constructor Description OrderByFragmentParser(antlr.TokenStream lexer, TranslationContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<java.lang.String>getColumnReferences()protected booleanisFunctionName(antlr.collections.AST ast)A check to see if the text of the given node represents a known function name.protected antlr.collections.ASTpostProcessSortSpecification(antlr.collections.AST sortSpec)Allow post processing of each sort specificationprotected antlr.collections.ASTquotedIdentifier(antlr.collections.AST ident)Process the given node as a quote identifier.protected antlr.collections.ASTquotedString(antlr.collections.AST ident)Process the given node as a quote string.protected antlr.collections.ASTresolveFunction(antlr.collections.AST ast)Process the given node as a function.protected antlr.collections.ASTresolveIdent(antlr.collections.AST ident)Process the given node as an IDENT.protected voidtrace(java.lang.String msg)Method for logging execution trace information.voidtraceIn(java.lang.String ruleName)voidtraceOut(java.lang.String ruleName)-
Methods inherited from class org.hibernate.sql.ordering.antlr.GeneratedOrderByFragmentParser
buildTokenTypeASTClassMap, collationName, collationSpecification, expression, extractText, functionCall, functionCallCheck, functionName, functionParameter, functionParameterList, nullOrdering, nullPrecedence, orderByFragment, orderingSpecification, simplePropertyPath, sortKey, sortSpecification
-
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
-
-
-
-
Constructor Detail
-
OrderByFragmentParser
public OrderByFragmentParser(antlr.TokenStream lexer, TranslationContext context)
-
-
Method Detail
-
getColumnReferences
public java.util.Set<java.lang.String> getColumnReferences()
-
quotedIdentifier
protected antlr.collections.AST quotedIdentifier(antlr.collections.AST ident)
Description copied from class:GeneratedOrderByFragmentParserProcess the given node as a quote identifier. These need to be quoted in the dialect-specific way.- Overrides:
quotedIdentifierin classGeneratedOrderByFragmentParser- 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)
Description copied from class:GeneratedOrderByFragmentParserProcess the given node as a quote string.- Overrides:
quotedStringin classGeneratedOrderByFragmentParser- 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)
Description copied from class:GeneratedOrderByFragmentParserA check to see if the text of the given node represents a known function name.- Overrides:
isFunctionNamein classGeneratedOrderByFragmentParser- 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)
Description copied from class:GeneratedOrderByFragmentParserProcess the given node as a function.- Overrides:
resolveFunctionin classGeneratedOrderByFragmentParser- Parameters:
ast- The node representing the function invocation (including parameters as subtree components).- Returns:
- The processed node.
-
resolveIdent
protected antlr.collections.AST resolveIdent(antlr.collections.AST ident)
Description copied from class:GeneratedOrderByFragmentParserProcess the given node as an IDENT. May represent either a column reference or a property reference.- Overrides:
resolveIdentin classGeneratedOrderByFragmentParser- 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)
Description copied from class:GeneratedOrderByFragmentParserAllow post processing of each sort specification- Overrides:
postProcessSortSpecificationin classGeneratedOrderByFragmentParser- Parameters:
sortSpec- The grammar-built sort specification subtree.- Returns:
- The processed sort specification subtree.
-
traceIn
public void traceIn(java.lang.String ruleName)
- Overrides:
traceInin classantlr.LLkParser
-
traceOut
public void traceOut(java.lang.String ruleName)
- Overrides:
traceOutin classantlr.LLkParser
-
trace
protected void trace(java.lang.String msg)
Description copied from class:GeneratedOrderByFragmentParserMethod for logging execution trace information.- Overrides:
tracein classGeneratedOrderByFragmentParser- Parameters:
msg- The trace message.
-
-