001package gudusoft.gsqlparser.nodes;
002/*
003 * Date: 14-5-8
004 */
005
006import gudusoft.gsqlparser.ESortType;
007import gudusoft.gsqlparser.TSourceToken;
008
009/**
010 * @deprecated as V1.8.7.2, replaced by {@link TColumnWithSortOrder}
011 */
012public class TIndexColName extends TParseTreeNode {
013    private TObjectName columnName;
014    private TConstant length;
015    private ESortType sortType;
016
017    private void setSortTypeByToken(TSourceToken st){
018        if (st == null) return ;
019        if (st.astext.equalsIgnoreCase("asc")){
020            this.sortType = ESortType.asc;
021        }else if (st.astext.equalsIgnoreCase("desc")){
022            this.sortType = ESortType.desc;
023        }
024    }
025
026    public void init(Object arg1){
027        columnName = (TObjectName)arg1;
028    }
029
030    public void init(Object arg1,Object arg2){
031        init(arg1);
032        if (arg2 != null){
033            setSortTypeByToken((TSourceToken)arg2);
034        }
035    }
036
037    public TObjectName getColumnName() {
038        return columnName;
039    }
040
041    public TConstant getLength() {
042        return length;
043    }
044
045    public ESortType getSortType() {
046        return sortType;
047    }
048
049    public void init(Object arg1,Object arg2,Object arg3){
050        init(arg1);
051        length = (TConstant)arg2;
052        if (arg3 != null){
053            setSortTypeByToken((TSourceToken)arg3);
054        }
055    }
056
057
058    public void setColumnName(TObjectName columnName) {
059        this.columnName = columnName;
060    }
061
062    public void setLength(TConstant length) {
063        this.length = length;
064    }
065
066    public void setSortType(ESortType sortType) {
067        this.sortType = sortType;
068    }
069}