KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dcl > sqlcontrolstatement > ifstatementelseifclause


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 ifstatementelseifclause {
12    public SQLstatementlist _SQLstatementlist0;
13    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221;
14    public searchcondition _searchcondition2;
15    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439223;
16
17    private _Reference[] searchConditionRefs;
18    private _ServerSession serverSession;
19
20    public Object JavaDoc run(Object JavaDoc object) throws DException {
21       _searchcondition2.getColumnDetails();
22       _SQLstatementlist0.run(object);
23       return null;
24    }
25
26    public SQLstatementlist getSQLstatementlistIfConditionSatisfied(
27        _VariableValues vv) throws DException {
28       return (SearchConditionUtility.executeExpression(_searchcondition2,
29           searchConditionRefs, vv, serverSession).hashCode() == 0) ?
30           _SQLstatementlist0 : null;
31    }
32
33    public void setOuterControlStatement(SQLcontrolstatement st) {
34       _SQLstatementlist0.setOuterControlStatement(st);
35    }
36
37    public Object JavaDoc[] getParameters(Object JavaDoc object) throws DException {
38       ArrayList list = new ArrayList();
39       Object JavaDoc[] par1 = _SQLstatementlist0.getParameters(object);
40       if (par1 != null) {
41          list.addAll(Arrays.asList(par1));
42       }
43       Object JavaDoc[] par2 = _searchcondition2.getParameters(object);
44       if (par2 != null) {
45          list.addAll(Arrays.asList(par2));
46       }
47       return list.toArray();
48    }
49
50    public _Reference[] checkSemantic(_ServerSession object) throws DException {
51       serverSession = object;
52       if (_searchcondition2.hasContainClause())
53          throw new DException("DSE8138", null);
54       ArrayList list = new ArrayList();
55       _Reference[] par1 = _SQLstatementlist0.checkSemantic(object);
56       if (par1 != null) {
57          list.addAll(Arrays.asList(par1));
58       }
59       searchConditionRefs = _searchcondition2.getReferences(SQLcontrolstatement.
60           dummyTableDetail);
61       if (searchConditionRefs != null) {
62          if (searchConditionRefs[0].getReferenceType() != SimpleConstants.SUBQUERY)
63             list.addAll(Arrays.asList(searchConditionRefs));
64       }
65       /**
66        * call checkSemantic of searchCondition in try catch Suggest by Mr. Parveen Agarwal. Related to bug 11653. */

67       try {
68          _searchcondition2.getColumnDetails();
69          _searchcondition2.checkSemantic(serverSession);
70       } catch (DException ex) {
71          if (!ex.getDseCode().equalsIgnoreCase("DSE4115")) {
72             throw ex;
73          }
74       }
75       return (_Reference[]) list.toArray(new _Reference[0]);
76    }
77
78    public String JavaDoc toString() {
79       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
80       sb.append(" ");
81       sb.append(_SRESERVEDWORD12065439223);
82       sb.append(" ");
83       sb.append(_searchcondition2);
84       sb.append(" ");
85       sb.append(_SRESERVEDWORD12065439221);
86       sb.append(" ");
87       sb.append(_SQLstatementlist0);
88       return sb.toString().trim();
89    }
90
91    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
92       return this;
93    }
94
95    public ColumnDetails[] getColumnDetails() throws DException {
96       return GeneralPurposeStaticClass.getJointColumnDetails(_searchcondition2.getColumnDetails(), _SQLstatementlist0.getColumnDetails());
97    }
98
99    public void getTableIncluded(ArrayList aList) throws DException {
100       _searchcondition2.getTablesIncluded(aList);
101    }
102
103    public void getColumnsIncluded(ArrayList aList) throws DException {
104       _searchcondition2.getColumnsIncluded(aList);
105    }
106 }
107
Popular Tags