org.hibernate.sql.ast.origin.hql.resolve
Class LuceneJPQLWalker

java.lang.Object
  extended by org.antlr.runtime.BaseRecognizer
      extended by org.antlr.runtime.tree.TreeParser
          extended by org.hibernate.sql.ast.origin.hql.resolve.GeneratedHQLResolver
              extended by org.hibernate.sql.ast.origin.hql.resolve.LuceneJPQLWalker

public class LuceneJPQLWalker
extends GeneratedHQLResolver

This extends the ANTLR generated AST walker to transform a parsed tree into a Lucene Query and collect the target entity types of the query.
TODO:

  • It is currently human-written but should evolve into another ANTLR generated tree walker, not extending GeneratedHQLResolver but using its output as a generic normalization AST transformer.
  • We are assembling the Lucene Query directly, but this doesn't take into account parameter types which might need some transformation; the Hibernate Search provided QueryBuilder could do this.
  • Implement more predicates
  • Support multiple types being targeted by the Query
  • Support positional parameters (currently only consumed named parameters)
  • Author:
    Sanne Grinovero (C) 2011 Red Hat Inc.

    Nested Class Summary
     
    Nested classes/interfaces inherited from class org.hibernate.sql.ast.origin.hql.resolve.GeneratedHQLResolver
    GeneratedHQLResolver.absFunction_return, GeneratedHQLResolver.assignment_return, GeneratedHQLResolver.betweenList_return, GeneratedHQLResolver.bitLengthFunction_return, GeneratedHQLResolver.caseExpression_return, GeneratedHQLResolver.castFunction_return, GeneratedHQLResolver.characterValueExpression_return, GeneratedHQLResolver.charLengthFunction_return, GeneratedHQLResolver.collectionExpression_return, GeneratedHQLResolver.collectionFunction_return, GeneratedHQLResolver.collectionPropertyReference_return, GeneratedHQLResolver.comparativePredicateValue_return, GeneratedHQLResolver.concatFunction_return, GeneratedHQLResolver.constant_return, GeneratedHQLResolver.countFunctionArguments_return, GeneratedHQLResolver.currentDateFunction_return, GeneratedHQLResolver.currentTimeFunction_return, GeneratedHQLResolver.currentTimestampFunction_return, GeneratedHQLResolver.datetimeField_return, GeneratedHQLResolver.datetimeValueExpression_return, GeneratedHQLResolver.deleteStatement_return, GeneratedHQLResolver.deleteStatementSet_return, GeneratedHQLResolver.elseClause_return, GeneratedHQLResolver.entityName_return, GeneratedHQLResolver.escapeSpecification_return, GeneratedHQLResolver.extractField_return, GeneratedHQLResolver.extractFunction_return, GeneratedHQLResolver.filterStatement_return, GeneratedHQLResolver.fromClause_return, GeneratedHQLResolver.function_return, GeneratedHQLResolver.functionFunction_return, GeneratedHQLResolver.groupByClause_return, GeneratedHQLResolver.groupingValue_return, GeneratedHQLResolver.havingClause_return, GeneratedHQLResolver.indexFunction_return, GeneratedHQLResolver.indexOperationSource_return, GeneratedHQLResolver.indexSelector_return, GeneratedHQLResolver.inPredicateValue_return, GeneratedHQLResolver.insertStatement_return, GeneratedHQLResolver.insertStatementSet_return, GeneratedHQLResolver.intermediateIndexOperation_return, GeneratedHQLResolver.intermediatePathedPropertyReference_return, GeneratedHQLResolver.intoClause_return, GeneratedHQLResolver.joins_return, GeneratedHQLResolver.joinType_return, GeneratedHQLResolver.lengthFunction_return, GeneratedHQLResolver.literal_return, GeneratedHQLResolver.locateFunction_return, GeneratedHQLResolver.lowerFunction_return, GeneratedHQLResolver.modFunction_return, GeneratedHQLResolver.numeric_literal_return, GeneratedHQLResolver.numericValueExpression_return, GeneratedHQLResolver.octetLengthFunction_return, GeneratedHQLResolver.onClause_return, GeneratedHQLResolver.orderByClause_return, GeneratedHQLResolver.parameter_return, GeneratedHQLResolver.path_return, GeneratedHQLResolver.pathedPropertyReference_return, GeneratedHQLResolver.pathedPropertyReferenceSource_return, GeneratedHQLResolver.persisterSpace_return, GeneratedHQLResolver.persisterSpaceRoot_return, GeneratedHQLResolver.persisterSpaces_return, GeneratedHQLResolver.positionFunction_return, GeneratedHQLResolver.predicate_return, GeneratedHQLResolver.propertyReference_return, GeneratedHQLResolver.propertyReferencePath_return, GeneratedHQLResolver.queryExpression_return, GeneratedHQLResolver.querySpec_return, GeneratedHQLResolver.queryStatement_return, GeneratedHQLResolver.queryStatementSet_return, GeneratedHQLResolver.rootSelectExpression_return, GeneratedHQLResolver.rowValueConstructor_return, GeneratedHQLResolver.searchCondition_return, GeneratedHQLResolver.searchedWhenClause_return, GeneratedHQLResolver.selectClause_return, GeneratedHQLResolver.selectFrom_return, GeneratedHQLResolver.setFunction_return, GeneratedHQLResolver.simpleCaseWhenClause_return, GeneratedHQLResolver.sizeFunction_return, GeneratedHQLResolver.sortSpecification_return, GeneratedHQLResolver.sqrtFunction_return, GeneratedHQLResolver.standardFunction_return, GeneratedHQLResolver.statement_return, GeneratedHQLResolver.substringFunction_return, GeneratedHQLResolver.terminalIndexOperation_return, GeneratedHQLResolver.timeZoneField_return, GeneratedHQLResolver.trimFunction_return, GeneratedHQLResolver.trimOperands_return, GeneratedHQLResolver.unqualifiedPropertyReference_return, GeneratedHQLResolver.updateStatement_return, GeneratedHQLResolver.updateStatementSet_return, GeneratedHQLResolver.upperFunction_return, GeneratedHQLResolver.valueExpression_return, GeneratedHQLResolver.valueExpressionPrimary_return, GeneratedHQLResolver.whereClause_return, GeneratedHQLResolver.withClause_return
     
    Field Summary
     
    Fields inherited from class org.hibernate.sql.ast.origin.hql.resolve.GeneratedHQLResolver
    ABS, adaptor, ALIAS_NAME, ALIAS_REF, ALL, AMPERSAND, AND, ANY, ARROW, AS, ASTERISK, AVG, BETWEEN, BETWEEN_LIST, BIT_LENGTH, BOTH, CAST, CHARACTER_LENGTH, CHARACTER_LITERAL, CLASS, COALESCE, COLLATE, COLLECTION_EXPRESSION, COLON, COLUMN, COLUMN_LIST, COMMA, CONCAT, CONST_STRING_VALUE, COUNT, CROSS, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, DAY, DECIMAL_LITERAL, DELETE, DISTINCT, DOT, DOT_CLASS, DOUBLE_PIPE, DYNAMIC_INSTANTIATION, DYNAMIC_INSTANTIATION_ARG, ELEMENTS, ELSE, END, ENTITY_NAME, ENTITY_PERSISTER_REF, EOF, EOL, EQUALS, ESCAPE, ESCAPE_SEQUENCE, EXCEPT, EXISTS, EXPONENT, EXTRACT, FALSE, FETCH, FILTER, FLOAT_TYPE_SUFFIX, FLOATING_POINT_LITERAL, FOLLOW_ABS_in_absFunction1915, FOLLOW_absFunction_in_standardFunction1667, FOLLOW_ALIAS_NAME_in_entityName2366, FOLLOW_ALIAS_NAME_in_joins543, FOLLOW_ALIAS_NAME_in_rootSelectExpression740, FOLLOW_ALIAS_REF_in_indexFunction1979, FOLLOW_ALIAS_REF_in_valueExpressionPrimary1396, FOLLOW_ALL_in_queryExpression310, FOLLOW_ALL_in_queryExpression324, FOLLOW_ALL_in_queryExpression338, FOLLOW_ALL_in_valueExpression1309, FOLLOW_AND_in_searchCondition809, FOLLOW_ANY_in_valueExpression1320, FOLLOW_assignment_in_updateStatement149, FOLLOW_ASTERISK_in_setFunction1599, FOLLOW_ASTERISK_in_valueExpression1262, FOLLOW_AVG_in_setFunction1569, FOLLOW_BETWEEN_in_predicate984, FOLLOW_BETWEEN_LIST_in_betweenList1096, FOLLOW_betweenList_in_predicate1001, FOLLOW_betweenList_in_predicate988, FOLLOW_BIT_LENGTH_in_bitLengthFunction2158, FOLLOW_bitLengthFunction_in_standardFunction1727, FOLLOW_caseExpression_in_valueExpressionPrimary1352, FOLLOW_CAST_in_castFunction1757, FOLLOW_castFunction_in_standardFunction1627, FOLLOW_CHARACTER_LENGTH_in_charLengthFunction2127, FOLLOW_CHARACTER_LITERAL_in_literal2318, FOLLOW_characterValueExpression_in_bitLengthFunction2160, FOLLOW_characterValueExpression_in_charLengthFunction2129, FOLLOW_characterValueExpression_in_escapeSpecification1139, FOLLOW_characterValueExpression_in_lengthFunction1882, FOLLOW_characterValueExpression_in_locateFunction1897, FOLLOW_characterValueExpression_in_locateFunction1899, FOLLOW_characterValueExpression_in_lowerFunction1867, FOLLOW_characterValueExpression_in_octetLengthFunction2144, FOLLOW_characterValueExpression_in_positionFunction2112, FOLLOW_characterValueExpression_in_positionFunction2114, FOLLOW_characterValueExpression_in_substringFunction1794, FOLLOW_characterValueExpression_in_trimOperands1835, FOLLOW_characterValueExpression_in_trimOperands1837, FOLLOW_characterValueExpression_in_upperFunction1852, FOLLOW_characterValueExpression_in_valueExpression1204, FOLLOW_charLengthFunction_in_standardFunction1717, FOLLOW_COALESCE_in_caseExpression1449, FOLLOW_COLLATE_in_groupingValue421, FOLLOW_COLLATE_in_sortSpecification773, FOLLOW_collectionExpression_in_countFunctionArguments2173, FOLLOW_collectionExpression_in_joins557, FOLLOW_collectionExpression_in_valueExpressionPrimary1367, FOLLOW_collectionFunction_in_valueExpressionPrimary1362, FOLLOW_collectionPropertyReference_in_collectionFunction2205, FOLLOW_comparativePredicateValue_in_predicate854, FOLLOW_comparativePredicateValue_in_predicate869, FOLLOW_comparativePredicateValue_in_predicate882, FOLLOW_comparativePredicateValue_in_predicate895, FOLLOW_comparativePredicateValue_in_predicate908, FOLLOW_comparativePredicateValue_in_predicate921, FOLLOW_CONCAT_in_concatFunction1776, FOLLOW_concatFunction_in_standardFunction1632, FOLLOW_CONST_STRING_VALUE_in_literal2329, FOLLOW_constant_in_valueExpressionPrimary1372, FOLLOW_COUNT_in_setFunction1596, FOLLOW_countFunctionArguments_in_setFunction1609, FOLLOW_CROSS_in_joinType627, FOLLOW_CURRENT_DATE_in_currentDateFunction1991, FOLLOW_CURRENT_TIME_in_currentTimeFunction2002, FOLLOW_CURRENT_TIMESTAMP_in_currentTimestampFunction2013, FOLLOW_currentDateFunction_in_standardFunction1692, FOLLOW_currentTimeFunction_in_standardFunction1697, FOLLOW_currentTimestampFunction_in_standardFunction1702, FOLLOW_datetimeField_in_extractField2041, FOLLOW_datetimeValueExpression_in_extractFunction2029, FOLLOW_DELETE_in_deleteStatement207, FOLLOW_deleteStatement_in_deleteStatementSet194, FOLLOW_deleteStatementSet_in_statement108, FOLLOW_DISTINCT_in_selectClause684, FOLLOW_DOT_CLASS_in_valueExpressionPrimary1403, FOLLOW_DOT_in_indexOperationSource2583, FOLLOW_DOT_in_intermediatePathedPropertyReference2506, FOLLOW_DOT_in_path2634, FOLLOW_DOT_in_pathedPropertyReference2438, FOLLOW_DOUBLE_PIPE_in_valueExpression1202, FOLLOW_DYNAMIC_INSTANTIATION_ARG_in_rootSelectExpression730, FOLLOW_DYNAMIC_INSTANTIATION_in_rootSelectExpression720, FOLLOW_ELEMENTS_in_collectionExpression2232, FOLLOW_ELSE_in_elseClause1529, FOLLOW_elseClause_in_caseExpression1468, FOLLOW_elseClause_in_caseExpression1481, FOLLOW_ENTITY_NAME_in_entityName2364, FOLLOW_ENTITY_PERSISTER_REF_in_persisterSpaceRoot512, FOLLOW_entityName_in_deleteStatement209, FOLLOW_entityName_in_intoClause256, FOLLOW_entityName_in_persisterSpaceRoot514, FOLLOW_entityName_in_updateStatement144, FOLLOW_EQUALS_in_assignment167, FOLLOW_EQUALS_in_assignment178, FOLLOW_EQUALS_in_predicate850, FOLLOW_ESCAPE_in_escapeSpecification1137, FOLLOW_escapeSpecification_in_predicate958, FOLLOW_escapeSpecification_in_predicate974, FOLLOW_EXCEPT_in_queryExpression336, FOLLOW_EXISTS_in_valueExpression1288, FOLLOW_EXTRACT_in_extractFunction2025, FOLLOW_extractField_in_extractFunction2027, FOLLOW_extractFunction_in_standardFunction1707, FOLLOW_FALSE_in_constant2292, FOLLOW_FETCH_in_joins538, FOLLOW_FILTER_in_filterStatement67, FOLLOW_FROM_in_fromClause467, FOLLOW_fromClause_in_selectFrom452, FOLLOW_FULL_in_joinType654, FOLLOW_FUNCTION_in_functionFunction1740, FOLLOW_function_in_valueExpressionPrimary1357, FOLLOW_functionFunction_in_standardFunction1622, FOLLOW_GREATER_EQUAL_in_predicate917, FOLLOW_GREATER_in_predicate904, FOLLOW_GROUP_BY_in_groupByClause401, FOLLOW_groupByClause_in_filterStatement82, FOLLOW_groupByClause_in_querySpec369, FOLLOW_GROUPING_VALUE_in_groupingValue417, FOLLOW_groupingValue_in_groupByClause403, FOLLOW_HAVING_in_havingClause435, FOLLOW_havingClause_in_filterStatement84, FOLLOW_havingClause_in_querySpec372, FOLLOW_HEX_LITERAL_in_literal2308, FOLLOW_IDENTIFIER_in_castFunction1761, FOLLOW_IDENTIFIER_in_indexOperationSource2587, FOLLOW_IDENTIFIER_in_indexOperationSource2601, FOLLOW_IDENTIFIER_in_intermediatePathedPropertyReference2512, FOLLOW_IDENTIFIER_in_path2628, FOLLOW_IDENTIFIER_in_pathedPropertyReference2442, FOLLOW_IDENTIFIER_in_pathedPropertyReferenceSource2464, FOLLOW_IDENTIFIER_in_pathedPropertyReferenceSource2474, FOLLOW_IDENTIFIER_in_unqualifiedPropertyReference2423, FOLLOW_IN_in_predicate1010, FOLLOW_IN_LIST_in_inPredicateValue1152, FOLLOW_INDEX_in_indexFunction1977, FOLLOW_indexFunction_in_standardFunction1687, FOLLOW_indexOperationSource_in_intermediateIndexOperation2536, FOLLOW_indexOperationSource_in_terminalIndexOperation2559, FOLLOW_indexSelector_in_intermediateIndexOperation2538, FOLLOW_indexSelector_in_terminalIndexOperation2561, FOLLOW_INDICES_in_collectionExpression2242, FOLLOW_INNER_in_joinType634, FOLLOW_inPredicateValue_in_predicate1014, FOLLOW_inPredicateValue_in_predicate1027, FOLLOW_INSERT_in_insertStatement237, FOLLOW_INSERTABILITY_SPEC_in_intoClause259, FOLLOW_insertStatement_in_insertStatementSet224, FOLLOW_insertStatementSet_in_statement113, FOLLOW_intermediateIndexOperation_in_pathedPropertyReferenceSource2488, FOLLOW_intermediatePathedPropertyReference_in_pathedPropertyReferenceSource2481, FOLLOW_INTERSECT_in_queryExpression322, FOLLOW_INTO_in_intoClause254, FOLLOW_intoClause_in_insertStatement239, FOLLOW_IS_EMPTY_in_predicate1063, FOLLOW_IS_NOT_EMPTY_in_predicate1074, FOLLOW_IS_NOT_NULL_in_predicate941, FOLLOW_IS_NULL_in_predicate930, FOLLOW_JAVA_CONSTANT_in_valueExpressionPrimary1413, FOLLOW_joins_in_persisterSpace499, FOLLOW_joinType_in_joins534, FOLLOW_joinType_in_joins576, FOLLOW_LEFT_in_joinType642, FOLLOW_LEFT_PAREN_in_path2659, FOLLOW_LEFT_SQUARE_in_intermediateIndexOperation2534, FOLLOW_LEFT_SQUARE_in_path2646, FOLLOW_LEFT_SQUARE_in_terminalIndexOperation2557, FOLLOW_LENGTH_in_lengthFunction1880, FOLLOW_lengthFunction_in_standardFunction1657, FOLLOW_LESS_EQUAL_in_predicate891, FOLLOW_LESS_in_predicate878, FOLLOW_LIKE_in_predicate952, FOLLOW_literal_in_constant2277, FOLLOW_LOCATE_in_locateFunction1895, FOLLOW_locateFunction_in_standardFunction1662, FOLLOW_LOWER_in_lowerFunction1865, FOLLOW_lowerFunction_in_standardFunction1652, FOLLOW_MAX_in_setFunction1578, FOLLOW_MEMBER_OF_in_predicate1036, FOLLOW_MIN_in_setFunction1587, FOLLOW_MINUS_in_valueExpression1249, FOLLOW_MOD_in_modFunction1945, FOLLOW_modFunction_in_standardFunction1677, FOLLOW_NOT_BETWEEN_in_predicate997, FOLLOW_NOT_EQUAL_in_predicate865, FOLLOW_NOT_IN_in_predicate1023, FOLLOW_NOT_in_searchCondition826, FOLLOW_NOT_LIKE_in_predicate968, FOLLOW_NOT_MEMBER_OF_in_predicate1049, FOLLOW_NULL_in_constant2282, FOLLOW_NULLIF_in_caseExpression1438, FOLLOW_numeric_literal_in_countFunctionArguments2183, FOLLOW_numeric_literal_in_literal2303, FOLLOW_numericValueExpression_in_absFunction1917, FOLLOW_numericValueExpression_in_locateFunction1901, FOLLOW_numericValueExpression_in_modFunction1947, FOLLOW_numericValueExpression_in_modFunction1949, FOLLOW_numericValueExpression_in_setFunction1562, FOLLOW_numericValueExpression_in_setFunction1571, FOLLOW_numericValueExpression_in_setFunction1580, FOLLOW_numericValueExpression_in_setFunction1589, FOLLOW_numericValueExpression_in_sqrtFunction1932, FOLLOW_numericValueExpression_in_substringFunction1796, FOLLOW_numericValueExpression_in_substringFunction1798, FOLLOW_numericValueExpression_in_valueExpression1216, FOLLOW_numericValueExpression_in_valueExpression1227, FOLLOW_numericValueExpression_in_valueExpression1264, FOLLOW_numericValueExpression_in_valueExpression1266, FOLLOW_numericValueExpression_in_valueExpression1277, FOLLOW_numericValueExpression_in_valueExpression1279, FOLLOW_OCTAL_LITERAL_in_literal2313, FOLLOW_OCTET_LENGTH_in_octetLengthFunction2142, FOLLOW_octetLengthFunction_in_standardFunction1722, FOLLOW_ON_in_onClause609, FOLLOW_onClause_in_joins580, FOLLOW_OR_in_searchCondition792, FOLLOW_ORDER_BY_in_orderByClause753, FOLLOW_ORDER_SPEC_in_sortSpecification776, FOLLOW_orderByClause_in_filterStatement89, FOLLOW_orderByClause_in_queryStatement294, FOLLOW_OUTER_in_joinType659, FOLLOW_parameter_in_valueExpressionPrimary1377, FOLLOW_path_in_path2636, FOLLOW_path_in_path2638, FOLLOW_path_in_path2648, FOLLOW_path_in_path2661, FOLLOW_path_in_valueExpressionPrimary1405, FOLLOW_path_in_valueExpressionPrimary1415, FOLLOW_PATH_in_valueExpressionPrimary1423, FOLLOW_pathedPropertyReference_in_propertyReferencePath2403, FOLLOW_pathedPropertyReferenceSource_in_indexOperationSource2585, FOLLOW_pathedPropertyReferenceSource_in_intermediatePathedPropertyReference2510, FOLLOW_pathedPropertyReferenceSource_in_pathedPropertyReference2440, FOLLOW_PERSISTER_JOIN_in_joins574, FOLLOW_PERSISTER_SPACE_in_persisterSpaces483, FOLLOW_persisterSpace_in_persisterSpaces485, FOLLOW_persisterSpaceRoot_in_joins578, FOLLOW_persisterSpaceRoot_in_persisterSpace497, FOLLOW_persisterSpaces_in_fromClause469, FOLLOW_PLUS_in_valueExpression1236, FOLLOW_POSITION_in_positionFunction2110, FOLLOW_positionFunction_in_standardFunction1712, FOLLOW_predicate_in_searchCondition837, FOLLOW_PROP_FETCH_in_joins547, FOLLOW_PROP_FETCH_in_persisterSpaceRoot516, FOLLOW_PROPERTY_JOIN_in_joins530, FOLLOW_PROPERTY_REFERENCE_in_propertyReference2381, FOLLOW_propertyReference_in_assignment169, FOLLOW_propertyReference_in_collectionExpression2234, FOLLOW_propertyReference_in_collectionExpression2244, FOLLOW_propertyReference_in_collectionPropertyReference2220, FOLLOW_propertyReference_in_countFunctionArguments2178, FOLLOW_propertyReference_in_intoClause261, FOLLOW_propertyReference_in_joins559, FOLLOW_propertyReference_in_sizeFunction1964, FOLLOW_propertyReference_in_valueExpressionPrimary1382, FOLLOW_propertyReferencePath_in_propertyReference2383, FOLLOW_propertyReferencePath_in_valueExpressionPrimary1425, FOLLOW_QUERY_in_filterStatement62, FOLLOW_QUERY_in_queryStatement290, FOLLOW_QUERY_SPEC_in_filterStatement65, FOLLOW_QUERY_SPEC_in_querySpec362, FOLLOW_queryExpression_in_queryExpression313, FOLLOW_queryExpression_in_queryExpression315, FOLLOW_queryExpression_in_queryExpression327, FOLLOW_queryExpression_in_queryExpression329, FOLLOW_queryExpression_in_queryExpression341, FOLLOW_queryExpression_in_queryExpression343, FOLLOW_queryExpression_in_queryStatement292, FOLLOW_querySpec_in_queryExpression349, FOLLOW_queryStatement_in_queryStatementSet277, FOLLOW_queryStatementSet_in_insertStatement241, FOLLOW_queryStatementSet_in_statement118, FOLLOW_queryStatementSet_in_valueExpressionPrimary1390, FOLLOW_RIGHT_in_joinType648, FOLLOW_rootSelectExpression_in_rootSelectExpression703, FOLLOW_rootSelectExpression_in_rootSelectExpression713, FOLLOW_rootSelectExpression_in_rootSelectExpression722, FOLLOW_rootSelectExpression_in_rootSelectExpression732, FOLLOW_rootSelectExpression_in_selectClause687, FOLLOW_rowValueConstructor_in_betweenList1098, FOLLOW_rowValueConstructor_in_betweenList1100, FOLLOW_rowValueConstructor_in_comparativePredicateValue1114, FOLLOW_rowValueConstructor_in_predicate1012, FOLLOW_rowValueConstructor_in_predicate1025, FOLLOW_rowValueConstructor_in_predicate1038, FOLLOW_rowValueConstructor_in_predicate1040, FOLLOW_rowValueConstructor_in_predicate1051, FOLLOW_rowValueConstructor_in_predicate1053, FOLLOW_rowValueConstructor_in_predicate1065, FOLLOW_rowValueConstructor_in_predicate1076, FOLLOW_rowValueConstructor_in_predicate1083, FOLLOW_rowValueConstructor_in_predicate852, FOLLOW_rowValueConstructor_in_predicate867, FOLLOW_rowValueConstructor_in_predicate880, FOLLOW_rowValueConstructor_in_predicate893, FOLLOW_rowValueConstructor_in_predicate906, FOLLOW_rowValueConstructor_in_predicate919, FOLLOW_rowValueConstructor_in_predicate932, FOLLOW_rowValueConstructor_in_predicate943, FOLLOW_rowValueConstructor_in_predicate986, FOLLOW_rowValueConstructor_in_predicate999, FOLLOW_rowValueConstructor_in_valueExpression1290, FOLLOW_searchCondition_in_havingClause437, FOLLOW_searchCondition_in_onClause611, FOLLOW_searchCondition_in_searchCondition794, FOLLOW_searchCondition_in_searchCondition796, FOLLOW_searchCondition_in_searchCondition811, FOLLOW_searchCondition_in_searchCondition813, FOLLOW_searchCondition_in_searchCondition828, FOLLOW_searchCondition_in_searchedWhenClause1514, FOLLOW_searchCondition_in_whereClause388, FOLLOW_searchCondition_in_withClause596, FOLLOW_SEARCHED_CASE_in_caseExpression1476, FOLLOW_searchedWhenClause_in_caseExpression1478, FOLLOW_SELECT_FROM_in_selectFrom450, FOLLOW_SELECT_in_selectClause682, FOLLOW_SELECT_ITEM_in_rootSelectExpression711, FOLLOW_SELECT_LIST_in_rootSelectExpression701, FOLLOW_selectClause_in_filterStatement74, FOLLOW_selectClause_in_selectFrom454, FOLLOW_selectFrom_in_querySpec364, FOLLOW_set_in_collectionFunction2195, FOLLOW_set_in_setFunction1603, FOLLOW_set_in_trimOperands1827, FOLLOW_SET_in_updateStatement147, FOLLOW_setFunction_in_function1543, FOLLOW_SIMPLE_CASE_in_caseExpression1461, FOLLOW_simpleCaseWhenClause_in_caseExpression1465, FOLLOW_SIZE_in_sizeFunction1962, FOLLOW_sizeFunction_in_standardFunction1682, FOLLOW_SOLIDUS_in_valueExpression1275, FOLLOW_SOME_in_valueExpression1298, FOLLOW_SORT_SPEC_in_sortSpecification769, FOLLOW_sortSpecification_in_orderByClause755, FOLLOW_SQRT_in_sqrtFunction1930, FOLLOW_sqrtFunction_in_standardFunction1672, FOLLOW_standardFunction_in_function1548, FOLLOW_STRING_LITERAL_in_assignment182, FOLLOW_STRING_LITERAL_in_literal2323, FOLLOW_STRING_LITERAL_in_literal2331, FOLLOW_SUB_QUERY_in_valueExpressionPrimary1388, FOLLOW_SUBSTRING_in_substringFunction1792, FOLLOW_substringFunction_in_standardFunction1637, FOLLOW_SUM_in_setFunction1560, FOLLOW_terminalIndexOperation_in_propertyReferencePath2408, FOLLOW_timeZoneField_in_extractField2046, FOLLOW_TRIM_in_trimFunction1812, FOLLOW_trimFunction_in_standardFunction1642, FOLLOW_trimOperands_in_trimFunction1814, FOLLOW_TRUE_in_constant2287, FOLLOW_UNARY_MINUS_in_valueExpression1214, FOLLOW_UNARY_PLUS_in_valueExpression1225, FOLLOW_UNION_in_queryExpression308, FOLLOW_unqualifiedPropertyReference_in_propertyReferencePath2398, FOLLOW_UPDATE_in_updateStatement142, FOLLOW_updateStatement_in_updateStatementSet129, FOLLOW_updateStatementSet_in_statement103, FOLLOW_UPPER_in_upperFunction1850, FOLLOW_upperFunction_in_standardFunction1647, FOLLOW_valueExpression_in_assignment171, FOLLOW_valueExpression_in_caseExpression1440, FOLLOW_valueExpression_in_caseExpression1442, FOLLOW_valueExpression_in_caseExpression1451, FOLLOW_valueExpression_in_caseExpression1453, FOLLOW_valueExpression_in_caseExpression1463, FOLLOW_valueExpression_in_castFunction1759, FOLLOW_valueExpression_in_characterValueExpression1178, FOLLOW_valueExpression_in_concatFunction1778, FOLLOW_valueExpression_in_datetimeValueExpression1189, FOLLOW_valueExpression_in_elseClause1531, FOLLOW_valueExpression_in_functionFunction1742, FOLLOW_valueExpression_in_groupingValue419, FOLLOW_valueExpression_in_indexSelector2616, FOLLOW_valueExpression_in_inPredicateValue1154, FOLLOW_valueExpression_in_numericValueExpression1167, FOLLOW_valueExpression_in_path2650, FOLLOW_valueExpression_in_path2663, FOLLOW_valueExpression_in_predicate954, FOLLOW_valueExpression_in_predicate956, FOLLOW_valueExpression_in_predicate970, FOLLOW_valueExpression_in_predicate972, FOLLOW_valueExpression_in_rootSelectExpression738, FOLLOW_valueExpression_in_rowValueConstructor1125, FOLLOW_valueExpression_in_searchedWhenClause1516, FOLLOW_valueExpression_in_simpleCaseWhenClause1497, FOLLOW_valueExpression_in_simpleCaseWhenClause1499, FOLLOW_valueExpression_in_sortSpecification771, FOLLOW_valueExpression_in_valueExpression1238, FOLLOW_valueExpression_in_valueExpression1240, FOLLOW_valueExpression_in_valueExpression1251, FOLLOW_valueExpression_in_valueExpression1253, FOLLOW_valueExpression_in_valueExpression1300, FOLLOW_valueExpression_in_valueExpression1311, FOLLOW_valueExpression_in_valueExpression1322, FOLLOW_valueExpression_in_valueExpression1333, FOLLOW_valueExpressionPrimary_in_valueExpression1341, FOLLOW_VECTOR_EXPR_in_valueExpression1331, FOLLOW_VERSIONED_VALUE_in_assignment180, FOLLOW_WHEN_in_searchedWhenClause1512, FOLLOW_WHEN_in_simpleCaseWhenClause1495, FOLLOW_WHERE_in_whereClause386, FOLLOW_whereClause_in_deleteStatement211, FOLLOW_whereClause_in_filterStatement77, FOLLOW_whereClause_in_querySpec366, FOLLOW_whereClause_in_updateStatement153, FOLLOW_WITH_in_withClause594, FOLLOW_withClause_in_joins562, FROM, FULL, FUNCTION, GREATER, GREATER_EQUAL, GROUP_BY, GROUPING_VALUE, HAVING, HEX_DIGIT, HEX_LITERAL, HOUR, IDENTIFIER, IN, IN_LIST, INDEX, INDICES, INNER, INSERT, INSERTABILITY_SPEC, INTEGER_LITERAL, INTEGER_TYPE_SUFFIX, INTERSECT, INTO, IS, IS_EMPTY, IS_NOT_EMPTY, IS_NOT_NULL, IS_NULL, JAVA_CONSTANT, JOIN, JPA_PARAM, LEADING, LEFT, LEFT_PAREN, LEFT_SQUARE, LENGTH, LESS, LESS_EQUAL, LIKE, LOCATE, LOWER, MAX, MAXELEMENT, MAXINDEX, MEMBER_OF, MIN, MINELEMENT, MININDEX, MINUS, MINUTE, MOD, MONTH, NAMED_PARAM, NEW, NOT, NOT_BETWEEN, NOT_EQUAL, NOT_IN, NOT_LIKE, NOT_MEMBER_OF, NULL, NULLIF, OCTAL_ESCAPE, OCTAL_LITERAL, OCTET_LENGTH, ON, OR, ORDER_BY, ORDER_SPEC, OUTER, PARAM, PATH, PERCENT, PERSISTER_JOIN, PERSISTER_SPACE, PIPE, PLUS, POSITION, PROP_FETCH, PROPERTIES, PROPERTY_JOIN, PROPERTY_REFERENCE, QUALIFIED_JOIN, QUERY, QUERY_SPEC, QUOTED_IDENTIFIER, RIGHT, RIGHT_PAREN, RIGHT_SQUARE, SEARCHED_CASE, SECOND, SELECT, SELECT_FROM, SELECT_ITEM, SELECT_LIST, SEMICOLON, SET, SIMPLE_CASE, SIZE, SOLIDUS, SOME, SORT_SPEC, SQRT, STRING_LITERAL, SUB_QUERY, SUBSTRING, SUM, TABLE, THEN, TIMEZONE_HOUR, TIMEZONE_MINUTE, tokenNames, TRAILING, TRIM, TRUE, UNARY_MINUS, UNARY_PLUS, UNICODE_ESCAPE, UNION, UPDATE, UPPER, VECTOR_EXPR, VERSIONED, VERSIONED_VALUE, WHEN, WHERE, WITH, WS, YEAR
     
    Fields inherited from class org.antlr.runtime.tree.TreeParser
    DOWN, input, UP
     
    Fields inherited from class org.antlr.runtime.BaseRecognizer
    DEFAULT_TOKEN_CHANNEL, HIDDEN, INITIAL_FOLLOW_STACK_SIZE, MEMO_RULE_FAILED, MEMO_RULE_UNKNOWN, NEXT_TOKEN_RULE_NAME, state
     
    Constructor Summary
    LuceneJPQLWalker(org.antlr.runtime.tree.TreeNodeStream input, org.hibernate.search.engine.spi.SearchFactoryImplementor searchFactory, EntityNamesResolver entityNames)
               
    LuceneJPQLWalker(org.antlr.runtime.tree.TreeNodeStream input, org.hibernate.search.engine.spi.SearchFactoryImplementor searchFactory, EntityNamesResolver entityNames, Map<String,Object> namedParameters)
               
     
    Method Summary
    protected  void activateAND()
               
    protected  void activateNOT()
               
    protected  void activateOR()
               
    protected  void deactivateBoolean()
               
     org.apache.lucene.search.Query getLuceneQuery()
               
     Class getTargetEntity()
               
    protected  boolean isPersisterReferenceAlias()
               
    protected  boolean isUnqualifiedPropertyReference()
               
    protected  PathedPropertyReferenceSource normalizeIntermediateIndexOperation(PathedPropertyReferenceSource propertyReferenceSource, org.antlr.runtime.tree.Tree collectionProperty, org.antlr.runtime.tree.Tree selector)
               
    protected  PathedPropertyReferenceSource normalizePropertyPathIntermediary(PathedPropertyReferenceSource source, org.antlr.runtime.tree.Tree propertyName)
               
    protected  org.antlr.runtime.tree.Tree normalizePropertyPathTerminus(PathedPropertyReferenceSource source, org.antlr.runtime.tree.Tree propertyNameNode)
               
    protected  PathedPropertyReferenceSource normalizeQualifiedRoot(org.antlr.runtime.tree.Tree identifier381)
               
    protected  void normalizeTerminalIndexOperation(PathedPropertyReferenceSource propertyReferenceSource, org.antlr.runtime.tree.Tree collectionProperty, org.antlr.runtime.tree.Tree selector)
               
    protected  PathedPropertyReferenceSource normalizeUnqualifiedPropertyReference(org.antlr.runtime.tree.Tree property)
               
    protected  PathedPropertyReferenceSource normalizeUnqualifiedPropertyReferenceSource(org.antlr.runtime.tree.Tree identifier394)
               
    protected  PathedPropertyReferenceSource normalizeUnqualifiedRoot(org.antlr.runtime.tree.Tree identifier382)
               
    protected  void popStrategy()
               
    protected  void predicateEquals(String comparativePredicate)
              This implements the equality predicate; the comparison predicate could be a constant, a subfunction or some random type parameter.
    protected  void pushFromStrategy(JoinType joinType, org.antlr.runtime.tree.Tree assosiationFetchTree, org.antlr.runtime.tree.Tree propertyFetchTree, org.antlr.runtime.tree.Tree alias)
               
    protected  void pushSelectStrategy()
               
    protected  void registerPersisterSpace(org.antlr.runtime.tree.Tree entityName, org.antlr.runtime.tree.Tree alias)
              See rule entityName
     String toString()
               
     
    Methods inherited from class org.hibernate.sql.ast.origin.hql.resolve.GeneratedHQLResolver
    absFunction, assignment, betweenList, bitLengthFunction, caseExpression, castFunction, characterValueExpression, charLengthFunction, collectionExpression, collectionFunction, collectionPropertyReference, comparativePredicateValue, concatFunction, constant, countFunctionArguments, currentDateFunction, currentTimeFunction, currentTimestampFunction, datetimeField, datetimeValueExpression, deleteStatement, deleteStatementSet, elseClause, entityName, escapeSpecification, extractField, extractFunction, filterStatement, fromClause, function, functionFunction, getDelegates, getGrammarFileName, getTokenNames, getTreeAdaptor, groupByClause, groupingValue, havingClause, indexFunction, indexOperationSource, indexSelector, inPredicateValue, insertStatement, insertStatementSet, intermediateIndexOperation, intermediatePathedPropertyReference, intoClause, joins, joinType, lengthFunction, literal, locateFunction, lowerFunction, modFunction, numeric_literal, numericValueExpression, octetLengthFunction, onClause, orderByClause, parameter, path, pathedPropertyReference, pathedPropertyReferenceSource, persisterSpace, persisterSpaceRoot, persisterSpaces, positionFunction, predicate, propertyReference, propertyReferencePath, queryExpression, querySpec, queryStatement, queryStatementSet, rootSelectExpression, rowValueConstructor, searchCondition, searchedWhenClause, selectClause, selectFrom, setFunction, setTreeAdaptor, simpleCaseWhenClause, sizeFunction, sortSpecification, sqrtFunction, standardFunction, statement, substringFunction, terminalIndexOperation, timeZoneField, trimFunction, trimOperands, unqualifiedPropertyReference, updateStatement, updateStatementSet, upperFunction, valueExpression, valueExpressionPrimary, whereClause, withClause
     
    Methods inherited from class org.antlr.runtime.tree.TreeParser
    getAncestor, getCurrentInputSymbol, getErrorHeader, getErrorMessage, getMissingSymbol, getSourceName, getTreeNodeStream, inContext, inContext, matchAny, recoverFromMismatchedToken, reset, setTreeNodeStream, traceIn, traceOut
     
    Methods inherited from class org.antlr.runtime.BaseRecognizer
    alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, failed, getBacktrackingLevel, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, match, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, reportError, setBacktrackingLevel, toStrings, traceIn, traceOut
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     

    Constructor Detail

    LuceneJPQLWalker

    public LuceneJPQLWalker(org.antlr.runtime.tree.TreeNodeStream input,
                            org.hibernate.search.engine.spi.SearchFactoryImplementor searchFactory,
                            EntityNamesResolver entityNames)

    LuceneJPQLWalker

    public LuceneJPQLWalker(org.antlr.runtime.tree.TreeNodeStream input,
                            org.hibernate.search.engine.spi.SearchFactoryImplementor searchFactory,
                            EntityNamesResolver entityNames,
                            Map<String,Object> namedParameters)
    Method Detail

    registerPersisterSpace

    protected void registerPersisterSpace(org.antlr.runtime.tree.Tree entityName,
                                          org.antlr.runtime.tree.Tree alias)
    See rule entityName

    Overrides:
    registerPersisterSpace in class GeneratedHQLResolver

    isUnqualifiedPropertyReference

    protected boolean isUnqualifiedPropertyReference()
    Overrides:
    isUnqualifiedPropertyReference in class GeneratedHQLResolver

    normalizeUnqualifiedPropertyReference

    protected PathedPropertyReferenceSource normalizeUnqualifiedPropertyReference(org.antlr.runtime.tree.Tree property)
    Overrides:
    normalizeUnqualifiedPropertyReference in class GeneratedHQLResolver

    isPersisterReferenceAlias

    protected boolean isPersisterReferenceAlias()
    Overrides:
    isPersisterReferenceAlias in class GeneratedHQLResolver

    normalizeUnqualifiedRoot

    protected PathedPropertyReferenceSource normalizeUnqualifiedRoot(org.antlr.runtime.tree.Tree identifier382)
    Overrides:
    normalizeUnqualifiedRoot in class GeneratedHQLResolver

    normalizeQualifiedRoot

    protected PathedPropertyReferenceSource normalizeQualifiedRoot(org.antlr.runtime.tree.Tree identifier381)
    Overrides:
    normalizeQualifiedRoot in class GeneratedHQLResolver

    normalizePropertyPathIntermediary

    protected PathedPropertyReferenceSource normalizePropertyPathIntermediary(PathedPropertyReferenceSource source,
                                                                              org.antlr.runtime.tree.Tree propertyName)
    Overrides:
    normalizePropertyPathIntermediary in class GeneratedHQLResolver

    normalizeIntermediateIndexOperation

    protected PathedPropertyReferenceSource normalizeIntermediateIndexOperation(PathedPropertyReferenceSource propertyReferenceSource,
                                                                                org.antlr.runtime.tree.Tree collectionProperty,
                                                                                org.antlr.runtime.tree.Tree selector)
    Overrides:
    normalizeIntermediateIndexOperation in class GeneratedHQLResolver

    normalizeTerminalIndexOperation

    protected void normalizeTerminalIndexOperation(PathedPropertyReferenceSource propertyReferenceSource,
                                                   org.antlr.runtime.tree.Tree collectionProperty,
                                                   org.antlr.runtime.tree.Tree selector)
    Overrides:
    normalizeTerminalIndexOperation in class GeneratedHQLResolver

    normalizeUnqualifiedPropertyReferenceSource

    protected PathedPropertyReferenceSource normalizeUnqualifiedPropertyReferenceSource(org.antlr.runtime.tree.Tree identifier394)
    Overrides:
    normalizeUnqualifiedPropertyReferenceSource in class GeneratedHQLResolver

    normalizePropertyPathTerminus

    protected org.antlr.runtime.tree.Tree normalizePropertyPathTerminus(PathedPropertyReferenceSource source,
                                                                        org.antlr.runtime.tree.Tree propertyNameNode)
    Overrides:
    normalizePropertyPathTerminus in class GeneratedHQLResolver

    pushFromStrategy

    protected void pushFromStrategy(JoinType joinType,
                                    org.antlr.runtime.tree.Tree assosiationFetchTree,
                                    org.antlr.runtime.tree.Tree propertyFetchTree,
                                    org.antlr.runtime.tree.Tree alias)
    Overrides:
    pushFromStrategy in class GeneratedHQLResolver

    pushSelectStrategy

    protected void pushSelectStrategy()
    Overrides:
    pushSelectStrategy in class GeneratedHQLResolver

    popStrategy

    protected void popStrategy()
    Overrides:
    popStrategy in class GeneratedHQLResolver

    getTargetEntity

    public Class getTargetEntity()

    activateOR

    protected void activateOR()
    Overrides:
    activateOR in class GeneratedHQLResolver

    activateAND

    protected void activateAND()
    Overrides:
    activateAND in class GeneratedHQLResolver

    activateNOT

    protected void activateNOT()
    Overrides:
    activateNOT in class GeneratedHQLResolver

    predicateEquals

    protected void predicateEquals(String comparativePredicate)
    This implements the equality predicate; the comparison predicate could be a constant, a subfunction or some random type parameter. The tree node has all details but with current tree rendering it just passes it's text so we have to figure out the options again.

    Overrides:
    predicateEquals in class GeneratedHQLResolver

    deactivateBoolean

    protected void deactivateBoolean()
    Overrides:
    deactivateBoolean in class GeneratedHQLResolver

    toString

    public String toString()
    Overrides:
    toString in class Object

    getLuceneQuery

    public org.apache.lucene.search.Query getLuceneQuery()


    Copyright © 2012 Hibernate. All Rights Reserved.