001package gudusoft.gsqlparser.nodes; 002 003import gudusoft.gsqlparser.EDbObjectType; 004import gudusoft.gsqlparser.EDeclareType; 005 006/** 007 * Teradata handler for clause 008 */ 009public class THandlerForCondition extends TParseTreeNode{ 010 public enum EHandlerForType {sqlstate, conditionName, SQLEXCEPTION, SQLWARNING,NOTFOUND}; 011 private EHandlerForType handlerForType; 012 013 public EHandlerForType getHandlerForType() { 014 return handlerForType; 015 } 016 017 public void init(Object arg1){ 018 handlerForType = (EHandlerForType)arg1; 019 } 020 021 private TConstant sqlstateCode; 022 023 public TConstant getSqlstateCode() { 024 return sqlstateCode; 025 } 026 027 public TObjectName getConditionName() { 028 return conditionName; 029 } 030 031 private TObjectName conditionName; 032 033 public void init(Object arg1, Object arg2){ 034 init(arg1); 035 switch (handlerForType){ 036 case sqlstate: 037 sqlstateCode = (TConstant) arg2; 038 break; 039 case conditionName: 040 conditionName = (TObjectName) arg2; 041 conditionName.setDbObjectType(EDbObjectType.condition_name); 042 break; 043 } 044 } 045 046 public void accept(TParseTreeVisitor v){ 047 v.preVisit(this); 048 v.postVisit(this); 049 } 050 051 public void acceptChildren(TParseTreeVisitor v){ 052 v.preVisit(this); 053 v.postVisit(this); 054 } 055}