001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.EColumnAttributeType;
004import gudusoft.gsqlparser.TSourceToken;
005
006public class TColumnAttribute extends TParseTreeNode {
007    private  EColumnAttributeType columnAttributeType;
008    private TExpression defaultValue;
009    private String encoding;
010    private TExpression seed,step;
011
012    public EColumnAttributeType getColumnAttributeType() {
013        return columnAttributeType;
014    }
015
016    public  void init(Object arg1){
017        columnAttributeType = (EColumnAttributeType)arg1;
018    }
019
020    public TExpression getDefaultValue() {
021        return defaultValue;
022    }
023
024    public String getEncoding() {
025        return encoding;
026    }
027
028    public void init(Object arg1,Object arg2){
029        init(arg1);
030        switch (columnAttributeType){
031            case defaultValue:
032                defaultValue = (TExpression)arg2;
033                break;
034            case encode:
035                encoding = ((TSourceToken)arg2).toString();
036                break;
037        }
038    }
039
040    public TExpression getSeed() {
041        return seed;
042    }
043
044    public TExpression getStep() {
045        return step;
046    }
047
048    public void init(Object arg1,Object arg2,Object arg3){
049        init(arg1);
050        seed = (TExpression)arg2;
051        step = (TExpression)arg3;
052
053    }
054
055    public void setColumnAttributeType(EColumnAttributeType columnAttributeType) {
056        this.columnAttributeType = columnAttributeType;
057    }
058
059    public void setDefaultValue(TExpression defaultValue) {
060        this.defaultValue = defaultValue;
061    }
062
063    public void setEncoding(String encoding) {
064        this.encoding = encoding;
065    }
066
067    public void setSeed(TExpression seed) {
068        this.seed = seed;
069    }
070
071    public void setStep(TExpression step) {
072        this.step = step;
073    }
074}