1 package com.daffodilwoods.daffodildb.server.sql99.expression.rowvalueexpression; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.sql99.common.*; 6 import com.daffodilwoods.database.resource.*; 7 8 public class rowvalueconstructorelementlist extends AbstractRowValueExpression implements com.daffodilwoods.daffodildb.utils.parser.StatementExecuter { 9 10 public rowvalueconstructorelement[] _OptRepScomma94843605rowvalueconstructorelement0; 11 12 public Object run(Object object) throws com.daffodilwoods.database.resource.DException { 13 int size = _OptRepScomma94843605rowvalueconstructorelement0.length; 14 if (size == 1) { 15 return _OptRepScomma94843605rowvalueconstructorelement0[0].run(object); 16 } 17 Object [] result = new Object [size]; 18 for (int i = 0; i < size; i++) { 19 result[i] = _OptRepScomma94843605rowvalueconstructorelement0[i].run(object); 20 } 21 return result; 22 } 23 24 public ParameterInfo[] getParameterInfo() throws DException { 25 ArrayList aList = new ArrayList(); 26 ParameterInfo[] param; 27 for (int i = 0; i < _OptRepScomma94843605rowvalueconstructorelement0.length; i++) { 28 param = _OptRepScomma94843605rowvalueconstructorelement0[i].getParameterInfo(); 29 for (int j = 0; j < param.length; j++) { 30 param[j].setOrdinalPosition(i); 31 } 32 aList.addAll(Arrays.asList(param)); 33 } 34 return (ParameterInfo[]) aList.toArray(new ParameterInfo[0]); 35 } 36 37 public AbstractRowValueExpression[] getChilds() { 38 int length = _OptRepScomma94843605rowvalueconstructorelement0.length; 39 AbstractRowValueExpression[] childs = new AbstractRowValueExpression[length]; 40 for (int i = 0; i < length; ++i) { 41 childs[i] = (AbstractRowValueExpression) _OptRepScomma94843605rowvalueconstructorelement0[i]; 42 } 43 return childs; 44 } 45 46 public int getCardinality() throws DException { 47 int cardinality = _OptRepScomma94843605rowvalueconstructorelement0[0].getCardinality(); 48 cardinality = cardinality == -1 ? 1 : cardinality; 49 int sumOfCardinalities = cardinality; 50 boolean isQuestionMark = cardinality == -1 ; 51 for (int i = 1; i < _OptRepScomma94843605rowvalueconstructorelement0.length; i++) { 52 int newCardinality = _OptRepScomma94843605rowvalueconstructorelement0[i].getCardinality(); 53 newCardinality = newCardinality == -1 ? 1 : newCardinality; 54 if (cardinality != newCardinality) { 55 throw new DException("DSE214", null); 56 } 57 sumOfCardinalities += newCardinality; 58 } 59 return sumOfCardinalities; 60 } 61 62 63 80 81 82 public boolean checkForSubQuery() throws DException { 83 return false; 84 } 85 86 public String toString() { 87 StringBuffer sb = new StringBuffer (); 88 sb.append(" "); 89 sb.append(_OptRepScomma94843605rowvalueconstructorelement0[0]); 90 for (int i = 1; i < _OptRepScomma94843605rowvalueconstructorelement0.length; i++) { 91 sb.append(",").append(_OptRepScomma94843605rowvalueconstructorelement0[i]); 92 } 93 return sb.toString(); 94 } 95 96 public Object clone() throws CloneNotSupportedException { 97 rowvalueconstructorelementlist tempClass = new rowvalueconstructorelementlist(); 98 if (_OptRepScomma94843605rowvalueconstructorelement0 != null) { 99 rowvalueconstructorelement[] temp_OptRepScomma94843605rowvalueconstructorelement0 = new rowvalueconstructorelement[_OptRepScomma94843605rowvalueconstructorelement0.length]; 100 for (int i = 0; i < _OptRepScomma94843605rowvalueconstructorelement0.length; i++) { 101 temp_OptRepScomma94843605rowvalueconstructorelement0[i] = (rowvalueconstructorelement) _OptRepScomma94843605rowvalueconstructorelement0[i].clone(); 102 } 103 tempClass._OptRepScomma94843605rowvalueconstructorelement0 = temp_OptRepScomma94843605rowvalueconstructorelement0; 104 } 105 return tempClass; 106 } 107 } 108 | Popular Tags |