package jef.database.dialect.type;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerExprParser;
import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerSelectParser;
import com.alibaba.druid.sql.parser.SQLExprParser;
import com.alibaba.druid.sql.parser.SQLSelectParser;
public abstract class ParserFactory {
public abstract SQLExprParser getExprParser(String expr);
public abstract SQLSelectParser getSelectParser(String expr);
public final static class Default extends ParserFactory {
public SQLExprParser getExprParser(String expr) {
return new SQLExprParser(expr);
}
@Override
public SQLSelectParser getSelectParser(String expr) {
return new SQLSelectParser(getExprParser(expr));
}
}
public final static class SQLServer extends ParserFactory {
public SQLExprParser getExprParser(String expr) {
return new SQLServerExprParser(expr);
}
@Override
public SQLSelectParser getSelectParser(String expr) {
return new SQLServerSelectParser(getExprParser(expr));
}
}
}