001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ESqlClause;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005
006public class TContainsTable extends TParseTreeNode {
007    public final static int containstable = 1;
008    public final static int freetexttable = 2;
009
010    private int type = containstable;
011
012    public void setType(int type) {
013        this.type = type;
014    }
015
016    public int getType() {
017
018        return type;
019    }
020
021    private TObjectName tableName = null;
022    private TInExpr column_or_columnList = null;
023    private TExpression contains_search_condition = null;
024    private TConstant top_n_by_rank = null;
025    private TExpression columnReferences = null;
026
027    public TExpression getColumnReferences() {
028        return columnReferences;
029    }
030
031    /**
032     *  @deprecated As of v1.6.4.9, replaced by {@link #getColumnReferences}
033     * @return column reference
034     */
035    public TInExpr getColumn_or_columnList() {
036        return column_or_columnList;
037    }
038
039    public TExpression getContains_search_condition() {
040        return contains_search_condition;
041    }
042
043    public TObjectName getTableName() {
044        return tableName;
045    }
046
047    public void init(Object arg1,Object arg2,Object arg3){
048        tableName = (TObjectName)arg1;
049        //column_or_columnList = (TInExpr)arg2;
050        columnReferences = (TExpression)arg2;
051
052        contains_search_condition = (TExpression)arg3;
053    }
054
055    public void doParse(TCustomSqlStatement psql, ESqlClause plocation){
056        //todo , table and columns here must be add to tables of psql later
057        //column_or_columnList.doParse(psql,plocation);
058        columnReferences.doParse(psql,plocation);
059        contains_search_condition.doParse(psql,plocation);
060    }
061
062    public void accept(TParseTreeVisitor v){
063        v.preVisit(this);
064        v.postVisit(this);
065    }
066
067    public void acceptChildren(TParseTreeVisitor v){
068        v.preVisit(this);
069        columnReferences.acceptChildren(v);
070        contains_search_condition.acceptChildren(v);
071        v.postVisit(this);
072    }
073
074    public void setTableName(TObjectName tableName) {
075        this.tableName = tableName;
076    }
077
078    public void setColumn_or_columnList(TInExpr column_or_columnList) {
079        this.column_or_columnList = column_or_columnList;
080    }
081
082    public void setContains_search_condition(TExpression contains_search_condition) {
083        this.contains_search_condition = contains_search_condition;
084    }
085
086    public void setTop_n_by_rank(TConstant top_n_by_rank) {
087        this.top_n_by_rank = top_n_by_rank;
088    }
089
090    public void setColumnReferences(TExpression columnReferences) {
091        this.columnReferences = columnReferences;
092    }
093}