001package gudusoft.gsqlparser.nodes; 002 003 004import gudusoft.gsqlparser.EDbObjectType; 005import gudusoft.gsqlparser.EExpressionType; 006 007 008public class TCallSqlNode extends TParseTreeNode { 009 private TExpression routineExpr; 010 private TObjectName hostVariable; 011 private TObjectName indicatorVariable; 012 private TExpressionList args; 013 private TObjectName routineName; 014 private TExecParameterList parameterList; 015 016 public TExecParameterList getParameterList() { 017 return parameterList; 018 } 019 020 public TExpressionList getArgs() { 021 return args; 022 } 023 024 public TObjectName getHostVariable() { 025 return hostVariable; 026 } 027 028 public TObjectName getIndicatorVariable() { 029 return indicatorVariable; 030 } 031 032 public TObjectName getRoutineName() { 033 return routineName; 034 } 035 036 public void init(Object arg1){ 037 if (arg1 instanceof TExpression){ 038 routineExpr = (TExpression)arg1; 039 if (routineExpr.getExpressionType() == EExpressionType.function_t){ 040 routineName = routineExpr.getFunctionCall().getFunctionName(); 041 args = routineExpr.getFunctionCall().getArgs(); 042 } 043 }else if (arg1 instanceof TObjectName){ 044 routineName = (TObjectName)arg1; 045 routineName.setDbObjectType(EDbObjectType.function); 046 }else if (arg1 instanceof TExpressionList){ 047 args = (TExpressionList)arg1; 048 } 049 } 050 051 public TExpression getRoutineExpr() { 052 return routineExpr; 053 } 054 055 public void init(Object arg1,Object arg2){ 056 init(arg1); 057 if (arg2 instanceof TObjectName){ 058 hostVariable = (TObjectName)arg2; 059 }else if (arg2 instanceof TExpressionList){ 060 args = (TExpressionList)arg2; 061 }else if (arg2 instanceof TExecParameterList){ 062 parameterList = (TExecParameterList)arg2; 063 } 064 065 } 066 067 public void init(Object arg1,Object arg2,Object arg3){ 068 init(arg1,arg2); 069 indicatorVariable = (TObjectName)arg3; 070 } 071 072 073}