1 package com.daffodilwoods.daffodildb.server.serversystem.triggerInfo; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 6 import com.daffodilwoods.daffodildb.server.serversystem.*; 7 import com.daffodilwoods.database.general.*; 8 import com.daffodilwoods.database.resource.*; 9 10 public class TriggerInformationStore { 11 12 private TreeMap triggerInformations; 13 14 public TriggerInformationStore() { 15 triggerInformations = new TreeMap(String.CASE_INSENSITIVE_ORDER); 16 } 17 18 public void removeTriggerInfo(QualifiedIdentifier tableName) { 19 triggerInformations.remove(tableName.getIdentifier()); 20 } 21 22 public _Triggers[] getBeforeInsertTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext) throws DException { 23 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 24 if (triggerExecuterInfo == null) { 25 triggerExecuterInfo = new TriggerExecuterInfo(); 26 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 27 } 28 return triggerExecuterInfo.getBeforeInsertTrigger(triggerCharacteristics, statementExecutionContext, tableName); 29 } 30 31 public _Triggers[] getAfterInsertTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext) throws DException { 32 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 33 if (triggerExecuterInfo == null) { 34 triggerExecuterInfo = new TriggerExecuterInfo(); 35 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 36 } 37 return triggerExecuterInfo.getAfterInsertTrigger(triggerCharacteristics, statementExecutionContext, tableName); 38 } 39 40 public _Triggers[] getBeforeUpdateTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext, int[] cols) throws DException { 41 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 42 if (triggerExecuterInfo == null) { 43 triggerExecuterInfo = new TriggerExecuterInfo(); 44 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 45 } 46 return triggerExecuterInfo.getBeforeUpdateTrigger(triggerCharacteristics, statementExecutionContext, tableName, cols); 47 } 48 49 public _Triggers[] getAfterUpdateTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext, int[] cols) throws DException { 50 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 51 if (triggerExecuterInfo == null) { 52 triggerExecuterInfo = new TriggerExecuterInfo(); 53 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 54 } 55 return triggerExecuterInfo.getAfterUpdateTrigger(triggerCharacteristics, statementExecutionContext, tableName, cols); 56 } 57 58 public _Triggers[] getBeforeDeleteTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext) throws DException { 59 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 60 if (triggerExecuterInfo == null) { 61 triggerExecuterInfo = new TriggerExecuterInfo(); 62 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 63 } 64 return triggerExecuterInfo.getBeforeDeleteTrigger(triggerCharacteristics, statementExecutionContext, tableName); 65 } 66 67 public _Triggers[] getAfterDeleteTrigger(_TriggerCharacteristics triggerCharacteristics, QualifiedIdentifier tableName, _StatementExecutionContext statementExecutionContext) throws DException { 68 TriggerExecuterInfo triggerExecuterInfo = (TriggerExecuterInfo) triggerInformations.get(tableName.getIdentifier()); 69 if (triggerExecuterInfo == null) { 70 triggerExecuterInfo = new TriggerExecuterInfo(); 71 triggerInformations.put(tableName.getIdentifier(), triggerExecuterInfo); 72 } 73 return triggerExecuterInfo.getAfterDeleteTrigger(triggerCharacteristics, statementExecutionContext, tableName); 74 } 75 } 76 | Popular Tags |