/** * Alipay.com Inc. * Copyright (c) 2004-2012 All Rights Reserved. */ package com.alipay.zdal.parser.result; import java.util.List; import java.util.Map; import java.util.Set; import com.alipay.zdal.parser.GroupFunctionType; import com.alipay.zdal.parser.sqlobjecttree.ComparativeMapChoicer; import com.alipay.zdal.parser.visitor.OrderByEle; /** * sql-parser������Ľ��. * @author xiaoqing.zhouxq * @version $Id: SqlParserResult.java, v 0.1 2012-5-21 ����03:29:18 xiaoqing.zhouxq Exp $ */ public interface SqlParserResult { /** * ��ȡ��ǰ����,���sql�а������ű�Ĭ��ֻ���ص�һ�ű�. * @return */ String getTableName(); /** * ��ȡorder by ����Ϣ * @return */ List<OrderByEle> getOrderByEles(); /** * ��ȡgroup by ��Ϣ * @return */ List<OrderByEle> getGroupByEles(); /** * insert/update/delete/select. * @return */ boolean isDML(); /** * ��ȡsql��SKIPֵ����еĻ���û�е�����»᷵��DEFAULTֵ * @param arguments ����ֵ�б�. * @return */ int getSkip(List<Object> arguments); /** * ����skip�󶨱������±�,���û�оͷ���-1. * @return */ int isSkipBind(); /** * ��ȡsql��maxֵ����еĻ���û�еĻ��᷵��DEFAULTֵ * @param arguments ����ֵ�б�. * @return */ int getMax(List<Object> arguments); /** * ����rowCount�󶨱������±�,���û�оͷ���-1. * @return */ int isRowCountBind(); /** * ����ǰsql��������group function.������ҽ���һ��group function,��ôʹ�ø�function * ���û��group function�����ж��group function.�򷵻�NORMAL * * @return */ GroupFunctionType getGroupFuncType(); /** * ��������Ľӿ� * @param tables * @param args * @param skip * @param max * @param outputType * @param modifiedMap * @return */ void getSqlReadyToRun(Set<String> tables, List<Object> args, Number skip, Number max, Map<Integer, Object> modifiedMap); /** * ��ȡ�����ɸѡ�� * @return */ ComparativeMapChoicer getComparativeMapChoicer(); }