001package gudusoft.gsqlparser.nodes; 002/* 003 * Date: 13-2-18 004 */ 005 006import gudusoft.gsqlparser.EExpressionType; 007 008public class TUnpivotInClauseItem extends TParseTreeNode { 009 010 private TExpression constantExpr; 011 012 public TExpression getConstantExpr() { 013 return constantExpr; 014 } 015 016 private TObjectName column; 017 private TObjectNameList columnList; 018 private TConstant constant; 019 private TPTNodeList <TConstant> constantList; 020 private TObjectName alias; 021 022 public TObjectName getColumn() { 023 return column; 024 } 025 026 public TObjectNameList getColumnList() { 027 return columnList; 028 } 029 030 public TConstant getConstant() { 031 return constant; 032 } 033 034 public TPTNodeList<TConstant> getConstantList() { 035 return constantList; 036 } 037 038 public void init(Object arg1){ 039 if (arg1 instanceof TObjectName){ 040 column = (TObjectName)arg1; 041 }else if (arg1 instanceof TObjectNameList){ 042 columnList = (TObjectNameList)arg1; 043 } 044 } 045 046 public void init(Object arg1,Object arg2){ 047 init(arg1); 048 049 if (arg2 != null){ 050 TDummy dummy = (TDummy)arg2; 051 if (dummy.node1 instanceof TConstant){ 052 constant = (TConstant)dummy.node1; 053 }else if (dummy.node1 instanceof TPTNodeList){ 054 constantList = (TPTNodeList)dummy.node1; 055 }else if (dummy.node1 instanceof TExpression){ 056 this.constantExpr = (TExpression)dummy.node1; 057 if (this.constantExpr.getExpressionType() == EExpressionType.simple_constant_t){ 058 this.constant = this.constantExpr.getConstantOperand(); 059 } 060 } 061 } 062 } 063 064 public void accept(TParseTreeVisitor v){ 065 v.preVisit(this); 066 v.postVisit(this); 067 } 068 069 public void acceptChildren(TParseTreeVisitor v){ 070 v.preVisit(this); 071 if (column != null) { 072 column.acceptChildren(v); 073 } 074 if (columnList != null) { 075 columnList.acceptChildren(v); 076 } 077 v.postVisit(this); 078 } 079 080 public void setColumn(TObjectName column) { 081 this.column = column; 082 } 083 084 public void setColumnList(TObjectNameList columnList) { 085 this.columnList = columnList; 086 } 087 088 public void setConstant(TConstant constant) { 089 this.constant = constant; 090 } 091 092 public void setConstantList(TPTNodeList<TConstant> constantList) { 093 this.constantList = constantList; 094 } 095 096 public TObjectName getAlias() { 097 return alias; 098 } 099 100 public void setAlias(TObjectName alias) { 101 this.alias = alias; 102 } 103}