001package gudusoft.gsqlparser.nodes;
002/*
003 * Date: 12-2-6
004 */
005
006import gudusoft.gsqlparser.TSourceToken;
007
008public class TMySQLCreateTableOption extends TParseTreeNode {
009
010    private String optionName;
011    private String optionValue;
012    private TSourceToken optionNameToken;//,optionValueToken;
013    private TConstant optionValueConstant;
014    private TObjectNameList valueList;
015
016    public void accept(TParseTreeVisitor v){
017        v.preVisit(this);
018        v.postVisit(this);
019    }
020
021    public void acceptChildren(TParseTreeVisitor v){
022        v.preVisit(this);
023        v.postVisit(this);
024    }
025
026    public String getOptionValue() {
027        return optionValue;
028    }
029
030    public String getOptionName() {
031
032        return optionName;
033    }
034
035    public TObjectNameList getValueList() {
036        return valueList;
037    }
038
039    public void init(Object arg1, Object arg2){
040        if (arg1 instanceof String){
041            optionName = (String)arg1;
042        }else if (arg1 instanceof TSourceToken){
043            optionNameToken =  (TSourceToken)arg1;
044            optionName = optionNameToken.toString();
045        }
046
047        if (arg2 instanceof String){
048            optionValue = (String)arg2;
049        }else if (arg2 instanceof TSourceToken){
050            //optionValueToken = (TSourceToken)arg2;
051            optionValue = ((TSourceToken)arg2).toString();
052        }else if (arg2 instanceof TObjectName){
053            optionValue = ((TObjectName)arg2).toString();
054        }else if(arg2 instanceof TConstant){
055            optionValueConstant = (TConstant)arg2;
056            optionValue = optionValueConstant.toString();
057        }else if (arg2 instanceof TObjectNameList){
058            valueList = (TObjectNameList)arg2;
059            for(int i=0;i<valueList.size();i++){
060                optionValue += valueList.getObjectName(i).toString();
061                if (i != valueList.size() -1){
062                    optionValue += ",";
063                }
064            }
065        }
066    }
067
068    public void setOptionName(String optionName) {
069        this.optionName = optionName;
070    }
071
072    public void setOptionValue(String optionValue) {
073        this.optionValue = optionValue;
074    }
075
076    public void setOptionValueConstant(TConstant optionValueConstant) {
077        this.optionValueConstant = optionValueConstant;
078    }
079
080    public void setValueList(TObjectNameList valueList) {
081        this.valueList = valueList;
082    }
083}