001package gudusoft.gsqlparser.nodes.oracle; 002 003 004import gudusoft.gsqlparser.TSourceToken; 005import gudusoft.gsqlparser.nodes.TConstant; 006import gudusoft.gsqlparser.nodes.TParseTreeNode; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008 009 010public class TStorageItem extends TParseTreeNode { 011 private EStorageType storageType; 012 private TSizeClause sizeClause; 013 private TConstant itemValue; 014 private TSourceToken unlimitedToken; 015 private TSourceToken nullToken; 016 private EBufferPoolType bufferPoolType; 017 private EFlashCacheType flashCacheType; 018 019 public EBufferPoolType getBufferPoolType() { 020 return bufferPoolType; 021 } 022 023 public EFlashCacheType getFlashCacheType() { 024 return flashCacheType; 025 } 026 027 public TSourceToken getNullToken() { 028 return nullToken; 029 } 030 031 public TSourceToken getUnlimitedToken() { 032 return unlimitedToken; 033 } 034 035 public TConstant getItemValue() { 036 return itemValue; 037 } 038 039 public TSizeClause getSizeClause() { 040 return sizeClause; 041 } 042 043 public EStorageType getStorageType() { 044 return storageType; 045 } 046 047 public void init(Object arg1){ 048 storageType = (EStorageType)arg1; 049 050 } 051 052 public void init(Object arg1,Object arg2) { 053 init(arg1); 054 switch (storageType) { 055 case stInitial: 056 case stNext: 057 sizeClause = (TSizeClause)arg2; 058 break; 059 case stMinExtents: 060 itemValue = (TConstant)arg2; 061 break; 062 case stPctIncrease: 063 itemValue = (TConstant)arg2; 064 break; 065 case stFreelists: 066 itemValue = (TConstant)arg2; 067 break; 068 case stFreelistGroups: 069 itemValue = (TConstant)arg2; 070 break; 071 case stMaxExtents: 072 if (arg2 instanceof TConstant){ 073 itemValue = (TConstant)arg2; 074 }else if (arg2 instanceof TSourceToken){ 075 unlimitedToken = (TSourceToken)arg2; 076 } 077 078 break; 079 case stMaxsize: 080 if (arg2 instanceof TSizeClause){ 081 sizeClause = (TSizeClause)arg2; 082 }else if (arg2 instanceof TSourceToken){ 083 unlimitedToken = (TSourceToken)arg2; 084 } 085 break; 086 case stOptimal: 087 if (arg2 instanceof TSizeClause){ 088 sizeClause = (TSizeClause)arg2; 089 }else if (arg2 instanceof TSourceToken){ 090 nullToken = (TSourceToken)arg2; 091 } 092 break; 093 case stBufferPool: 094 bufferPoolType = (EBufferPoolType)arg2; 095 break; 096 case stFlashCache: 097 flashCacheType = (EFlashCacheType)arg2; 098 break; 099 default: 100 break; 101 } 102 } 103 104 public void accept(TParseTreeVisitor v){ 105 v.preVisit(this); 106 v.postVisit(this); 107 } 108 109 public void acceptChildren(TParseTreeVisitor v){ 110 v.preVisit(this); 111 v.postVisit(this); 112 } 113 114}