KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > ddl > schemadefinition > referentialconstraintdefinition


1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition;
2
3 import java.util.*;
4
5 import com.daffodilwoods.daffodildb.server.serversystem.*;
6 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*;
7 import com.daffodilwoods.daffodildb.server.sql99.token.*;
8 import com.daffodilwoods.database.resource.*;
9
10 public class referentialconstraintdefinition implements tableconstraint {
11    public referencesspecification _referencesspecification0;
12    public Srightparen_1874859514 _Srightparen_18748595141;
13    public referencingcolumns _referencingcolumns2;
14    public Sleftparen653880241 _Sleftparen6538802413;
15    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439224;
16    public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439225;
17
18    private TableConstraintDescriptor tableConsDes;
19
20    public void setTableConstraintDescriptor(_Descriptor
21                                             tableConsDes0) throws
22        DException {
23       tableConsDes = (TableConstraintDescriptor)
24           tableConsDes0;
25    }
26
27    /** @todo
28     * initialise currentUserserver
29     * setConstraintType
30     * makeKeyColumnUsageDescriptors
31     * call run of _referencesspecification0
32     * */

33    public Object JavaDoc run(Object JavaDoc object) throws DException {
34       _ServerSession currentSession = (_ServerSession) object;
35       tableConsDes.constraint_type = SqlSchemaConstants.ForeignKey;
36       if (tableConsDes.constraint_name == null) {
37          tableConsDes.setGeneratedConstraintName(currentSession, "FKC_");
38       }
39       ReferentialConstraintDescriptor referentialConsDes = new ReferentialConstraintDescriptor();
40       referentialConsDes.tableConstraintDescriptor = tableConsDes;
41       referentialConsDes.constraint_catalog = tableConsDes.constraint_catalog;
42       referentialConsDes.constraint_schema = tableConsDes.constraint_schema;
43       referentialConsDes.constraint_name = tableConsDes.constraint_name;
44
45       tableConsDes.setConstraintDescriptor(referentialConsDes);
46       storeConstraintColumns();
47       _referencesspecification0.setConstraintDescriptor(referentialConsDes);
48       _referencesspecification0.run(object);
49       return null;
50    }
51
52    private void storeConstraintColumns() throws DException {
53       Object JavaDoc[] columns = (Object JavaDoc[]) _referencingcolumns2.run(null);
54       ArrayList constraintColumnDescriptors = getKeyColumnUsageDescriptors(
55           columns);
56       tableConsDes.setConstraintColumnDescriptors(
57           constraintColumnDescriptors);
58    }
59
60    public ArrayList getKeyColumnUsageDescriptors(Object JavaDoc[] columns) throws DException {
61       ArrayList constraintColumnDescriptors = new ArrayList(columns.length);
62       for (int i = 0; i < columns.length; i++) {
63          String JavaDoc columnName = (String JavaDoc) columns[i];
64          KeyColumnUsageDescriptor keyColumnUsageDes = new
65              KeyColumnUsageDescriptor();
66          keyColumnUsageDes.column_name = columnName;
67          keyColumnUsageDes.constraint_catalog = tableConsDes.constraint_catalog;
68          keyColumnUsageDes.constraint_schema = tableConsDes.constraint_schema;
69          keyColumnUsageDes.constraint_name = tableConsDes.constraint_name;
70          keyColumnUsageDes.table_catalog = tableConsDes.table_catalog;
71          keyColumnUsageDes.table_schema = tableConsDes.table_schema;
72          keyColumnUsageDes.table_name = tableConsDes.table_name;
73          constraintColumnDescriptors.add(keyColumnUsageDes);
74          /**
75           * ordinal position is not set here ,
76           * as it is to be set acc. to Primary or Unique Key
77           */

78       }
79       return constraintColumnDescriptors;
80    }
81
82    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
83       return this;
84    }
85
86    public String JavaDoc toString() {
87       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
88       sb.append(" ");
89       sb.append(_SRESERVEDWORD12065439225);
90       sb.append(" ");
91       sb.append(_SRESERVEDWORD12065439224);
92       sb.append(" ");
93       sb.append(_Sleftparen6538802413);
94       sb.append(" ");
95       sb.append(_referencingcolumns2);
96       sb.append(" ");
97       sb.append(_Srightparen_18748595141);
98       sb.append(" ");
99       sb.append(_referencesspecification0);
100       return sb.toString();
101    }
102 }
103
Popular Tags