KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > serversystem > dmlvalidation > statementtriggersystem > StatementTriggerSystem


1 package com.daffodilwoods.daffodildb.server.serversystem.dmlvalidation.statementtriggersystem;
2
3 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*;
4 import com.daffodilwoods.daffodildb.utils.comparator.*;
5 import com.daffodilwoods.database.general.*;
6 import com.daffodilwoods.database.resource.*;
7
8 /**
9  *
10  * <p>Title: Trigger System</p>
11  * <p>Description: </p>
12  * Statement trigger System maintains a list of statement trigger Databases along with their URL,
13  * and retreives the Database when it is required by passing its URL.
14  * */

15
16 /**
17  *
18  * <p>Title: Trigger System</p>
19  * <p>Description: </p>
20  * Statement Trigger System is on top of Statement Trigger Database which in turn is parent of Statement Trigger table which is on the lowest level.
21  */

22 public class StatementTriggerSystem implements _StatementTriggerSystem {
23
24    /**
25     * instance of datadictionary system to create a new statement trigger database.
26     */

27   private _DataDictionarySystem dataDictionarySystem;
28
29   /**
30    * Used to maintain a list of statement trigger databases based on their URLs
31    */

32   private WeakOrderedKeyList statementTriggerDatabaseList = new WeakOrderedKeyList( new CTusjohDbtfJoTfotjujwfDpnqbsbups());
33
34   /**
35    * Used to construct an instance of statemnt trigger system with the given arguments.
36    * @param dDSystem instance of datadictionary system
37    * @throws DException
38    */

39   public StatementTriggerSystem(_DataDictionarySystem dDSystem) throws DException {
40      dataDictionarySystem = dDSystem;
41   }
42
43   /**
44     * returns an Object of Statement Trigger Database from the database list for statement trigger Database.
45     * If the database is not present in the list , it creates a new instance of the database
46    * and adds it up in the list.
47     * @param databaseURL name of the database
48     * @return _StatementTriggerDatabase instance of statement trigger database that is retreived.
49     * @throws DException
50     */

51
52   public synchronized _StatementTriggerDatabase getStatementTriggerDatabase(String JavaDoc databaseURL) throws DException {
53         _StatementTriggerDatabase statementTriggerDatabase = (_StatementTriggerDatabase) statementTriggerDatabaseList.get(databaseURL);
54     if(statementTriggerDatabase != null)
55       return statementTriggerDatabase;
56     _DataDictionary dataDictionary = dataDictionarySystem.getDataDictionary( databaseURL );
57     _DDSTriggerOperations ddsTriggerOperations = dataDictionary.getDDSTriggerOperation();
58     statementTriggerDatabase = new StatementTriggerDatabase( ddsTriggerOperations );
59     statementTriggerDatabaseList.put(databaseURL, statementTriggerDatabase );
60     return statementTriggerDatabase;
61   }
62   public void deleteDatabase(String JavaDoc parm1) throws com.daffodilwoods.database.resource.DException {
63     try {
64         statementTriggerDatabaseList.delete(parm1);
65     }
66     catch (DException ex) {
67     }
68   }
69
70 }
71
Popular Tags