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