KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition;
2
3 import java.util.*;
4
5 import com.daffodilwoods.database.resource.*;
6
7 public class oldornewvaluesaliaslist {
8    public oldornewvaluesalias[] _oldornewvaluesaliaslist0;
9
10    public Object JavaDoc run(Object JavaDoc object) throws DException {
11       check();
12       ArrayList list = new ArrayList();
13       list.addAll(Arrays.asList(_oldornewvaluesaliaslist0));
14       return list;
15    }
16
17    /** OLD or OLD ROW, NEW or NEW ROW, OLD TABLE, and NEW TABLE shall be specified
18     * at most once each within the <old or new values alias list>.
19     */

20    private void check() throws DException {
21       boolean oldRowFlag = false;
22       boolean newRowFlag = false;
23       boolean oldTableFlag = false;
24       boolean newTableFlag = false;
25       for (int i = 0, size = _oldornewvaluesaliaslist0.length; i < size; i++) {
26          if (_oldornewvaluesaliaslist0[i].getTriggerType() ==
27              oldornewvaluesalias.OLDROWTYPE) {
28             if (oldRowFlag) {
29                throw new DException("DSE7067", new Object JavaDoc[] {"OLD ROW"});
30             }
31             oldRowFlag = true;
32          } else if (_oldornewvaluesaliaslist0[i].getTriggerType() ==
33                     oldornewvaluesalias.NEWROWTYPE) {
34             if (newRowFlag) {
35                throw new DException("DSE7067", new Object JavaDoc[] {"NEW ROW"});
36             }
37             newRowFlag = true;
38          } else if (_oldornewvaluesaliaslist0[i].getTriggerType() ==
39                     oldornewvaluesalias.OLDTABLETYPE) {
40             if (oldTableFlag) {
41                throw new DException("DSE7067", new Object JavaDoc[] {"OLD TABLE"});
42             }
43             oldTableFlag = true;
44          } else if (_oldornewvaluesaliaslist0[i].getTriggerType() ==
45                     oldornewvaluesalias.NEWTABLETYPE) {
46             if (newTableFlag) {
47                throw new DException("DSE7067", new Object JavaDoc[] {"NEW TABLE"});
48             }
49             newTableFlag = true;
50          }
51       }
52       if ( (oldRowFlag || newRowFlag) && (oldTableFlag || newTableFlag)) {
53          throw new DException("DSE8031", null);
54       }
55    }
56
57    public String JavaDoc toString() {
58       StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
59       sb.append(" ");
60       sb.append(" ");
61       for (int i = 0; i < _oldornewvaluesaliaslist0.length; i++) {
62          sb.append(_oldornewvaluesaliaslist0[i]);
63       }
64       return sb.toString();
65    }
66
67    public Object JavaDoc clone() throws CloneNotSupportedException JavaDoc {
68       return this;
69    }
70
71 }
72
Popular Tags