1 package com.daffodilwoods.daffodildb.server.sql99.dcl.sqlcontrolstatement; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.serversystem.*; 6 import com.daffodilwoods.daffodildb.server.sql99.common.*; 7 import com.daffodilwoods.daffodildb.server.sql99.token.*; 8 import com.daffodilwoods.daffodildb.server.sql99.utils.*; 9 import com.daffodilwoods.database.resource.*; 10 11 public class searchedcasestatement implements casestatement { 12 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439220; 13 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221; 14 public casestatementelseclause _Optcasestatementelseclause2; 15 public searchedcasestatementwhenclause[] _Repsearchedcasestatementwhenclause3; 16 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439224; 17 18 private SQLcontrolstatement outerControlStatement; 19 20 public void setOuterControlStatement(SQLcontrolstatement outerst) { 21 outerControlStatement = outerst; 22 } 23 24 public Object run(Object object) throws DException { 25 if (_Optcasestatementelseclause2 != null) { 26 _Optcasestatementelseclause2.run(object); 27 } 28 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 29 _Repsearchedcasestatementwhenclause3[i].run(object); 30 } 31 return this; 32 } 33 34 public Object [] getParameters(Object object) throws DException { 35 ArrayList list = new ArrayList(); 36 if (_Optcasestatementelseclause2 != null) { 37 Object [] par1 = _Optcasestatementelseclause2.getParameters(object); 38 if (par1 != null) { 39 list.addAll(Arrays.asList(par1)); 40 } 41 } 42 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 43 Object [] par2 = _Repsearchedcasestatementwhenclause3[i].getParameters(object); 44 if (par2 != null) { 45 list.addAll(Arrays.asList(par2)); 46 } 47 } 48 return list.toArray(); 49 } 50 51 67 68 public Object execute(_VariableValues variableValues) throws DException { 69 Object result = null; 70 SQLstatementlist ssl = getSqlStatementListToExecuteWhenClause(variableValues); 71 if (ssl != null) { 72 ssl.setOuterControlStatement(this); 73 result = ssl.execute(variableValues); 74 } else if (_Optcasestatementelseclause2 != null) { 75 ssl = _Optcasestatementelseclause2.getSQLStatementList(); 76 ssl.setOuterControlStatement(this); 77 result = ssl.execute(variableValues); 78 } 79 if (result instanceof SqlStatementListResult) { 80 SqlStatementListResult temp = (SqlStatementListResult) result; 81 if (outerControlStatement == null && temp.hasIterateLeaveResult()) { 82 throw new DException("DSE8038", null); 83 } 84 } 85 return result; 86 } 87 88 private SQLstatementlist getSqlStatementListToExecuteWhenClause( 89 _VariableValues variableValues) throws DException { 90 for (int i = 0, size = _Repsearchedcasestatementwhenclause3.length; 91 i < size; i++) { 92 SQLstatementlist temp = _Repsearchedcasestatementwhenclause3[i]. 93 checkCondition(variableValues); 94 if (temp != null) { 95 return temp; 96 } 97 } 98 return null; 99 } 100 101 public Object execute(Object [] values) throws DException { 102 throw new UnsupportedOperationException (); 103 } 104 105 public Object executeForFresh(Object [] values) throws DException { 106 throw new UnsupportedOperationException (); 107 } 108 109 public ParameterInfo[] getParameterInfo() throws DException { 110 throw new UnsupportedOperationException (); 111 } 112 113 public String toString() { 114 StringBuffer sb = new StringBuffer (); 115 sb.append(" "); 116 sb.append(_SRESERVEDWORD12065439224); 117 sb.append(" "); 118 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 119 sb.append(_Repsearchedcasestatementwhenclause3[i]); 120 } 121 sb.append(" "); 122 if (_Optcasestatementelseclause2 != null) { 123 sb.append(_Optcasestatementelseclause2); 124 } 125 sb.append(" "); 126 sb.append(_SRESERVEDWORD12065439221); 127 sb.append(" "); 128 sb.append(_SRESERVEDWORD12065439220); 129 return sb.toString().trim(); 130 } 131 132 public Object clone() throws CloneNotSupportedException { 133 return this; 134 } 135 136 public ColumnDetails[] getColumnDetails() throws DException { 137 ColumnDetails[] searchedCaseStatementWhenClauseCD = null, caseStatementElseClauseCD = null; 138 ArrayList listOfSearchedCaseStatementWhenClauseCD = new ArrayList(); 139 if (_Optcasestatementelseclause2 != null) { 140 caseStatementElseClauseCD = _Optcasestatementelseclause2.getColumnDetails(); 141 } 142 if (_Repsearchedcasestatementwhenclause3 != null) { 143 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 144 listOfSearchedCaseStatementWhenClauseCD.addAll(Arrays.asList(_Repsearchedcasestatementwhenclause3[i].getColumnDetails())); 145 } 146 searchedCaseStatementWhenClauseCD = (ColumnDetails[]) listOfSearchedCaseStatementWhenClauseCD.toArray(new ColumnDetails[0]); 147 } 148 return GeneralPurposeStaticClass.getJointColumnDetails(caseStatementElseClauseCD, searchedCaseStatementWhenClauseCD); 149 } 150 151 public _Reference[] checkSemantic(_ServerSession object) throws DException { 152 ArrayList set = new ArrayList(); 153 if (_Optcasestatementelseclause2 != null) { 154 _Reference[] par1 = _Optcasestatementelseclause2.checkSemantic(object); 155 if (par1 != null) { 156 set.addAll(Arrays.asList(par1)); 157 } 158 } 159 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 160 _Reference[] par2 = _Repsearchedcasestatementwhenclause3[i].checkSemantic(object); 161 if (par2 != null) { 162 set.addAll(Arrays.asList(par2)); 163 } 164 } 165 return (_Reference[]) set.toArray(new _Reference[0]); 166 } 167 168 public void getTableIncluded(ArrayList aList) throws DException { 169 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 170 _Repsearchedcasestatementwhenclause3[i].getTableIncluded(aList); 171 } 172 } 173 174 public void getColumnsIncluded(ArrayList aList) throws DException { 175 for (int i = 0; i < _Repsearchedcasestatementwhenclause3.length; i++) { 176 _Repsearchedcasestatementwhenclause3[i].getColumnsIncluded(aList); 177 } 178 } 179 } 180 | Popular Tags |