001package gudusoft.gsqlparser.nodes; 002/* 003 * Date: 13-12-4 004 */ 005 006import gudusoft.gsqlparser.TSourceToken; 007 008public class TCreateFunctionOption extends TParseTreeNode { 009 010 011 private ECreateFunctionOptionType optionType; 012 013 014 public ECreateFunctionOptionType getOptionType() { 015 016 return optionType; 017 } 018 019 private TStatementListSqlNode sqlNodes; 020 private TConstant language; 021 private TBlockSqlNode blockSqlNode; 022 private TConstant objfile; 023 private TConstant linkSymbol; 024 private TConstant functionBody; 025 026 public TConstant getFunctionBody() { 027 return functionBody; 028 } 029 030 public TConstant getLanguage() { 031 return language; 032 } 033 034 public TStatementListSqlNode getSqlNodes() { 035 return sqlNodes; 036 } 037 038 public TBlockSqlNode getBlockSqlNode() { 039 return blockSqlNode; 040 } 041 042 043 public TConstant getLinkSymbol() { 044 return linkSymbol; 045 } 046 047 public TConstant getObjfile() { 048 return objfile; 049 } 050 051 public void init(Object arg1,Object arg2,Object arg3){ 052 optionType = (ECreateFunctionOptionType)arg1; 053 switch (optionType){ 054 case objfile: 055 objfile = (TConstant)arg2; 056 linkSymbol = (TConstant)arg3; 057 break; 058 } 059 } 060 061 public void init(Object arg1,Object arg2){ 062 optionType = (ECreateFunctionOptionType)arg1; 063 switch (optionType){ 064 case block: 065 functionBody = (TConstant)arg2; 066 break; 067 case stmts: 068 functionBody = (TConstant)arg2; 069 break; 070 case language: 071 language = (TConstant)arg2; 072 break; 073 } 074 } 075 076 public void init(Object arg1){ 077 078 if (arg1 instanceof TBlockSqlNode){ 079 blockSqlNode = (TBlockSqlNode)arg1; 080 optionType = ECreateFunctionOptionType.block; 081 }else if (arg1 instanceof TStatementListSqlNode){ 082 sqlNodes = (TStatementListSqlNode)arg1; 083 optionType = ECreateFunctionOptionType.stmts; 084 }else if (arg1 instanceof TConstant){ 085 language = (TConstant)arg1; 086 optionType = ECreateFunctionOptionType.language; 087 }else if (arg1 instanceof TSourceToken){ 088 optionType = ECreateFunctionOptionType.window; 089 }else if (arg1 instanceof TDummy){ 090 optionType = ECreateFunctionOptionType.common; 091 }else if (arg1 instanceof ECreateFunctionOptionType){ 092 optionType = (ECreateFunctionOptionType)arg1; 093 } 094 } 095}