001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ESqlStatementType;
004
005/**
006 * Create trigger dml event: delete, insert, update [of columns]
007 */
008public class TDmlEventItem extends TTriggerEventItem {
009    public void setDmlType(ESqlStatementType dmlType) {
010        this.dmlType = dmlType;
011    }
012
013    public void setColumnList(TObjectNameList columnList) {
014        this.columnList = columnList;
015    }
016
017    private ESqlStatementType dmlType;
018    private TObjectNameList columnList;
019
020    public ESqlStatementType getDmlType() {
021        return dmlType;
022    }
023
024    public void  init(Object arg1){
025        dmlType = (ESqlStatementType)arg1;
026        switch (dmlType){
027            case sstdelete:
028                setEventName("delete");
029                break;
030            case sstinsert:
031                setEventName("insert");
032                break;
033            case sstupdate:
034                setEventName("update");
035                break;
036        }
037    }
038
039    public TObjectNameList getColumnList() {
040        return columnList;
041    }
042
043    public void  init(Object arg1,Object arg2){
044        init(arg1);
045        columnList = (TObjectNameList)arg2;
046    }
047
048    public void accept(TParseTreeVisitor v){
049        v.preVisit(this);
050        v.postVisit(this);
051    }
052
053    public void acceptChildren(TParseTreeVisitor v){
054        v.preVisit(this);
055        v.postVisit(this);
056    }
057}