ElasticSqlSelectQueryBlock.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. package org.es.sql.druid;
  2. import com.alibaba.druid.sql.ast.SQLExpr;
  3. import com.alibaba.druid.sql.ast.SQLObject;
  4. import com.alibaba.druid.sql.ast.SQLObjectImpl;
  5. import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock;
  6. import com.alibaba.druid.sql.visitor.SQLASTVisitor;
  7. import org.apache.commons.collections.CollectionUtils;
  8. import java.util.List;
  9. public class ElasticSqlSelectQueryBlock extends SQLSelectQueryBlock implements SQLObject {
  10. //DSL: from to
  11. private Limit limit;
  12. private Routing routing;
  13. private SQLExpr matchQuery;
  14. public SQLExpr getMatchQuery() {
  15. return matchQuery;
  16. }
  17. public void setMatchQuery(SQLExpr matchQuery) {
  18. this.matchQuery = matchQuery;
  19. }
  20. public Limit getLimit() {
  21. return limit;
  22. }
  23. public void setLimit(Limit limit) {
  24. this.limit = limit;
  25. }
  26. public Routing getRouting() {
  27. return routing;
  28. }
  29. public void setRouting(Routing routing) {
  30. this.routing = routing;
  31. }
  32. public static class Routing extends SQLObjectImpl {
  33. private List<SQLExpr> routingValues;
  34. public Routing(List<SQLExpr> routingValues) {
  35. this.routingValues = routingValues;
  36. if (CollectionUtils.isNotEmpty(routingValues)) {
  37. for (SQLExpr sqlExpr : routingValues) {
  38. sqlExpr.setParent(ElasticSqlSelectQueryBlock.Routing.this);
  39. }
  40. }
  41. }
  42. @Override
  43. protected void accept0(SQLASTVisitor visitor) {
  44. throw new UnsupportedOperationException("accept0(SQLASTVisitor visitor)");
  45. }
  46. public List<SQLExpr> getRoutingValues() {
  47. return routingValues;
  48. }
  49. }
  50. public static class Limit extends SQLObjectImpl {
  51. private SQLExpr rowCount;
  52. private SQLExpr offset;
  53. public SQLExpr getRowCount() {
  54. return rowCount;
  55. }
  56. public void setRowCount(SQLExpr rowCount) {
  57. if (rowCount != null) {
  58. rowCount.setParent(this);
  59. }
  60. this.rowCount = rowCount;
  61. }
  62. public SQLExpr getOffset() {
  63. return offset;
  64. }
  65. public void setOffset(SQLExpr offset) {
  66. if (offset != null) {
  67. offset.setParent(this);
  68. }
  69. this.offset = offset;
  70. }
  71. @Override
  72. protected void accept0(SQLASTVisitor visitor) {
  73. throw new UnsupportedOperationException("accept0(SQLASTVisitor visitor)");
  74. }
  75. }
  76. }