001package gudusoft.gsqlparser.nodes.mssql; 002 003import gudusoft.gsqlparser.nodes.TExpression; 004import gudusoft.gsqlparser.nodes.TParseTreeNode; 005import gudusoft.gsqlparser.nodes.TObjectName; 006import gudusoft.gsqlparser.TSourceToken; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008 009 010public class TMssqlCreateTriggerUpdateColumn extends TParseTreeNode { 011 private TSourceToken notToken = null; 012 private TSourceToken and_or_nullToken = null; 013 private TObjectName columnName = null; 014 private TExpression condition = null; 015 016 public TObjectName getColumnName() { 017 return columnName; 018 } 019 020 021 public TExpression getCondition() { 022 return condition; 023 } 024 025 public void init(Object arg1,Object arg2,Object arg3){ 026 this.and_or_nullToken = (TSourceToken)arg1; 027 this.notToken = (TSourceToken)arg2; 028 if (arg3 instanceof TObjectName){ 029 this.columnName = (TObjectName)arg3; 030 }else if (arg3 instanceof TExpression){ 031 condition = (TExpression)arg3; 032 } 033 } 034 035 public TSourceToken getAnd_or_nullToken() { 036 return and_or_nullToken; 037 } 038 039 public TSourceToken getNotToken() { 040 return notToken; 041 } 042 043 public void accept(TParseTreeVisitor v){ 044 v.preVisit(this); 045 v.postVisit(this); 046 } 047 048 public void acceptChildren(TParseTreeVisitor v){ 049 v.preVisit(this); 050 // Visit column name (for simple UPDATE(column) syntax) 051 if (this.columnName != null) { 052 columnName.acceptChildren(v); 053 } 054 // Visit condition expression (for complex expressions like UPDATE([col1]) OR UPDATE([col2])) 055 if (this.condition != null) { 056 condition.acceptChildren(v); 057 } 058 v.postVisit(this); 059 } 060 061 public void setColumnName(TObjectName columnName) { 062 this.columnName = columnName; 063 } 064 065 public void setCondition(TExpression condition) { 066 this.condition = condition; 067 } 068}