001package gudusoft.gsqlparser.nodes;
002
003public class TAlterTypeOption extends TParseTreeNode {
004
005    public EAlterTypeOption type;
006
007    public EAlterTypeOption getType() {
008        return type;
009    }
010
011    public void init(Object arg1) {
012        this.type = (EAlterTypeOption) arg1;
013    }
014
015    public void init(Object arg1, Object arg2) {
016        this.type = (EAlterTypeOption) arg1;
017        switch (this.type) {
018            case addAttribute:
019            case modifyAttribute:
020                this.columnDefList = (TColumnDefinitionList) arg2;
021                break;
022            case dropAttribute:
023                attributeList = (TObjectNameList) arg2;
024                break;
025            case modifyLimit:
026                this.limitValue = (TConstant) arg2;
027                break;
028            default:
029                break;
030        }
031    }
032
033    private TConstant limitValue;
034
035    public TConstant getLimitValue() {
036        return limitValue;
037    }
038
039    private  TColumnDefinitionList columnDefList;
040
041    public TColumnDefinitionList getColumnDefList() {
042        return columnDefList;
043    }
044
045    private TObjectNameList attributeList;
046
047    public TObjectNameList getAttributeList() {
048        return attributeList;
049    }
050
051    public void accept(TParseTreeVisitor v){
052        v.preVisit(this);
053        v.postVisit(this);
054    }
055
056    public void acceptChildren(TParseTreeVisitor v){
057        v.preVisit(this);
058        v.postVisit(this);
059    }    
060
061}