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 021 public TObjectName getColumn() { 022 return column; 023 } 024 025 public TObjectNameList getColumnList() { 026 return columnList; 027 } 028 029 public TConstant getConstant() { 030 return constant; 031 } 032 033 public TPTNodeList<TConstant> getConstantList() { 034 return constantList; 035 } 036 037 public void init(Object arg1){ 038 if (arg1 instanceof TObjectName){ 039 column = (TObjectName)arg1; 040 }else if (arg1 instanceof TObjectNameList){ 041 columnList = (TObjectNameList)arg1; 042 } 043 } 044 045 public void init(Object arg1,Object arg2){ 046 init(arg1); 047 048 if (arg2 != null){ 049 TDummy dummy = (TDummy)arg2; 050 if (dummy.node1 instanceof TConstant){ 051 constant = (TConstant)dummy.node1; 052 }else if (dummy.node1 instanceof TPTNodeList){ 053 constantList = (TPTNodeList)dummy.node1; 054 }else if (dummy.node1 instanceof TExpression){ 055 this.constantExpr = (TExpression)dummy.node1; 056 if (this.constantExpr.getExpressionType() == EExpressionType.simple_constant_t){ 057 this.constant = this.constantExpr.getConstantOperand(); 058 } 059 } 060 } 061 } 062 063 public void accept(TParseTreeVisitor v){ 064 v.preVisit(this); 065 v.postVisit(this); 066 } 067 068 public void acceptChildren(TParseTreeVisitor v){ 069 v.preVisit(this); 070 v.postVisit(this); 071 } 072 073 public void setColumn(TObjectName column) { 074 this.column = column; 075 } 076 077 public void setColumnList(TObjectNameList columnList) { 078 this.columnList = columnList; 079 } 080 081 public void setConstant(TConstant constant) { 082 this.constant = constant; 083 } 084 085 public void setConstantList(TPTNodeList<TConstant> constantList) { 086 this.constantList = constantList; 087 } 088}