001package gudusoft.gsqlparser.nodes; 002 003 004import java.util.ArrayList; 005 006public class TExceptReplaceClause extends TParseTreeNode { 007 008 public static final int EXCEPT_CLAUSE = 1; 009 public static final int REPLACE_CLAUSE = 2; 010 public static final int EXCEPT_AND_REPLACE_CLAUSE = 3; 011 public static final int EXCEPT_AND_REPLACE_UNKNOWN = 0; 012 013 private int except_replace_clause = EXCEPT_AND_REPLACE_UNKNOWN; 014 015 private TObjectNameList columnList; 016 private ArrayList<TReplaceExprAsIdentifier> exprAsIdentifiers; 017 018 public TObjectNameList getColumnList() { 019 return columnList; 020 } 021 022 public ArrayList<TReplaceExprAsIdentifier> getExprAsIdentifiers() { 023 return exprAsIdentifiers; 024 } 025 026 public void init(Object arg1, Object arg2){ 027 columnList = (TObjectNameList)arg1; 028 exprAsIdentifiers = (ArrayList<TReplaceExprAsIdentifier>)arg2; 029 if (columnList == null){ 030 except_replace_clause = REPLACE_CLAUSE; 031 }else{ 032 except_replace_clause = EXCEPT_AND_REPLACE_CLAUSE; 033 } 034 } 035 036 public void init(Object arg1){ 037 columnList = (TObjectNameList)arg1; 038 except_replace_clause = EXCEPT_CLAUSE; 039 } 040 041 public void accept(TParseTreeVisitor v){ 042 v.preVisit(this); 043 v.postVisit(this); 044 } 045 046 public void acceptChildren(TParseTreeVisitor v){ 047 v.preVisit(this); 048 if ((except_replace_clause == EXCEPT_CLAUSE)||(except_replace_clause == EXCEPT_AND_REPLACE_CLAUSE)){ 049 columnList.acceptChildren(v); 050 } 051 if ((except_replace_clause == REPLACE_CLAUSE)||(except_replace_clause == EXCEPT_AND_REPLACE_CLAUSE)){ 052 for(TReplaceExprAsIdentifier r:exprAsIdentifiers){ 053 r.acceptChildren(v); 054 } 055 } 056 v.postVisit(this); 057 } 058}