KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > expression > rowvalueexpression > rowvalueconstructorelementlist


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 JavaDoc run(Object JavaDoc 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 JavaDoc[] result = new Object JavaDoc[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  /* public int getCardinality() throws DException {
64         int cardinality = _OptRepScomma94843605rowvalueconstructorelement0[0].getCardinality();
65         int sumOfCardinalities = cardinality;
66         boolean isQuestionMark = cardinality == -1;
67         for (int i = 1; i < _OptRepScomma94843605rowvalueconstructorelement0.length; i++) {
68            int newCardinality = _OptRepScomma94843605rowvalueconstructorelement0[i].getCardinality();
69            if (newCardinality == -1) {
70               isQuestionMark = true;
71               continue;
72            }
73            if (cardinality != -1 && cardinality != newCardinality) {
74               throw new DException("DSE214", null);
75            }
76            sumOfCardinalities += newCardinality;
77         }
78         return isQuestionMark ? -1 : sumOfCardinalities;
79      } */

80
81
82    public boolean checkForSubQuery() throws DException {
83       return false;
84    }
85
86    public String JavaDoc toString() {
87       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
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 JavaDoc clone() throws CloneNotSupportedException JavaDoc {
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