org.neodatis.odb.impl.core.trigger
Class DefaultTriggerManager

java.lang.Object
  extended by org.neodatis.odb.impl.core.trigger.DefaultTriggerManager
All Implemented Interfaces:
ITriggerManager
Direct Known Subclasses:
DefaultServerTriggerManager

public class DefaultTriggerManager
extends java.lang.Object
implements ITriggerManager


Field Summary
protected  java.util.Map<java.lang.String,IOdbList<Trigger>> listOfDeleteTriggers
          key is class Name, value is the collection of triggers for the class
protected  java.util.Map<java.lang.String,IOdbList<Trigger>> listOfInsertTriggers
          key is class Name, value is the collection of triggers for the class
protected  java.util.Map<java.lang.String,IOdbList<Trigger>> listOfOIdTriggers
          key is class Name, value is the collection of triggers for the class
protected  java.util.Map<java.lang.String,IOdbList<Trigger>> listOfSelectTriggers
          key is class Name, value is the collection of triggers for the class
protected  java.util.Map<java.lang.String,IOdbList<Trigger>> listOfUpdateTriggers
          key is class Name, value is the collection of triggers for the class
 
Constructor Summary
DefaultTriggerManager(IStorageEngine engine)
           
 
Method Summary
 void addDeleteTriggerFor(java.lang.String className, DeleteTrigger trigger)
           
 void addInsertTriggerFor(java.lang.String className, InsertTrigger trigger)
           
 void addOidTriggerFor(java.lang.String className, OIDTrigger trigger)
           
 void addSelectTriggerFor(java.lang.String className, SelectTrigger trigger)
           
 void addUpdateTriggerFor(java.lang.String className, UpdateTrigger trigger)
           
 IOdbList<Trigger> getListOfDeleteTriggersFor(java.lang.String className)
          FIXME try to cache l1+l2
 IOdbList<Trigger> getListOfInsertTriggersFor(java.lang.String className)
           
 IOdbList<Trigger> getListOfOidTriggersFor(java.lang.String className)
           
 IOdbList<Trigger> getListOfSelectTriggersFor(java.lang.String className)
           
 IOdbList<Trigger> getListOfUpdateTriggersFor(java.lang.String className)
           
 IStorageEngine getStorageEngine()
           
 boolean hasDeleteTriggersFor(java.lang.String classsName)
           
 boolean hasInsertTriggersFor(java.lang.String className)
           
 boolean hasOidTriggersFor(java.lang.String classsName)
           
 boolean hasSelectTriggersFor(java.lang.String className)
           
 boolean hasUpdateTriggersFor(java.lang.String className)
           
protected  boolean isNull(java.lang.Object object)
           
 void manageDeleteTriggerAfter(java.lang.String className, java.lang.Object object, OID oid)
           
 boolean manageDeleteTriggerBefore(java.lang.String className, java.lang.Object object, OID oid)
           
 void manageInsertTriggerAfter(java.lang.String className, java.lang.Object object, OID oid)
           
 boolean manageInsertTriggerBefore(java.lang.String className, java.lang.Object object)
           
 boolean manageOidTrigger(NonNativeObjectInfo nnoi, OID oid)
           
 void manageSelectTriggerAfter(java.lang.String className, java.lang.Object object, OID oid)
           
 void manageUpdateTriggerAfter(java.lang.String className, NonNativeObjectInfo oldNnoi, java.lang.Object newObject, OID oid)
           
 boolean manageUpdateTriggerBefore(java.lang.String className, NonNativeObjectInfo oldNnoi, java.lang.Object newObject, OID oid)
           
 java.lang.Object transform(java.lang.Object object)
          For the default object trigger, no transformation is needed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listOfUpdateTriggers

protected java.util.Map<java.lang.String,IOdbList<Trigger>> listOfUpdateTriggers
key is class Name, value is the collection of triggers for the class


listOfInsertTriggers

protected java.util.Map<java.lang.String,IOdbList<Trigger>> listOfInsertTriggers
key is class Name, value is the collection of triggers for the class


listOfDeleteTriggers

protected java.util.Map<java.lang.String,IOdbList<Trigger>> listOfDeleteTriggers
key is class Name, value is the collection of triggers for the class


listOfSelectTriggers

protected java.util.Map<java.lang.String,IOdbList<Trigger>> listOfSelectTriggers
key is class Name, value is the collection of triggers for the class


listOfOIdTriggers

protected java.util.Map<java.lang.String,IOdbList<Trigger>> listOfOIdTriggers
key is class Name, value is the collection of triggers for the class

Constructor Detail

DefaultTriggerManager

public DefaultTriggerManager(IStorageEngine engine)
Method Detail

addUpdateTriggerFor

public void addUpdateTriggerFor(java.lang.String className,
                                UpdateTrigger trigger)
Specified by:
addUpdateTriggerFor in interface ITriggerManager

addInsertTriggerFor

public void addInsertTriggerFor(java.lang.String className,
                                InsertTrigger trigger)
Specified by:
addInsertTriggerFor in interface ITriggerManager

addOidTriggerFor

public void addOidTriggerFor(java.lang.String className,
                             OIDTrigger trigger)
Specified by:
addOidTriggerFor in interface ITriggerManager

addDeleteTriggerFor

public void addDeleteTriggerFor(java.lang.String className,
                                DeleteTrigger trigger)
Specified by:
addDeleteTriggerFor in interface ITriggerManager

addSelectTriggerFor

public void addSelectTriggerFor(java.lang.String className,
                                SelectTrigger trigger)
Specified by:
addSelectTriggerFor in interface ITriggerManager

hasDeleteTriggersFor

public boolean hasDeleteTriggersFor(java.lang.String classsName)
Specified by:
hasDeleteTriggersFor in interface ITriggerManager

hasOidTriggersFor

public boolean hasOidTriggersFor(java.lang.String classsName)
Specified by:
hasOidTriggersFor in interface ITriggerManager

hasInsertTriggersFor

public boolean hasInsertTriggersFor(java.lang.String className)
Specified by:
hasInsertTriggersFor in interface ITriggerManager

hasSelectTriggersFor

public boolean hasSelectTriggersFor(java.lang.String className)
Specified by:
hasSelectTriggersFor in interface ITriggerManager

hasUpdateTriggersFor

public boolean hasUpdateTriggersFor(java.lang.String className)
Specified by:
hasUpdateTriggersFor in interface ITriggerManager

getListOfDeleteTriggersFor

public IOdbList<Trigger> getListOfDeleteTriggersFor(java.lang.String className)
FIXME try to cache l1+l2

Parameters:
className -
Returns:

getListOfInsertTriggersFor

public IOdbList<Trigger> getListOfInsertTriggersFor(java.lang.String className)

getListOfOidTriggersFor

public IOdbList<Trigger> getListOfOidTriggersFor(java.lang.String className)

getListOfSelectTriggersFor

public IOdbList<Trigger> getListOfSelectTriggersFor(java.lang.String className)

getListOfUpdateTriggersFor

public IOdbList<Trigger> getListOfUpdateTriggersFor(java.lang.String className)

manageInsertTriggerBefore

public boolean manageInsertTriggerBefore(java.lang.String className,
                                         java.lang.Object object)
Specified by:
manageInsertTriggerBefore in interface ITriggerManager

manageInsertTriggerAfter

public void manageInsertTriggerAfter(java.lang.String className,
                                     java.lang.Object object,
                                     OID oid)
Specified by:
manageInsertTriggerAfter in interface ITriggerManager

manageOidTrigger

public boolean manageOidTrigger(NonNativeObjectInfo nnoi,
                                OID oid)
Specified by:
manageOidTrigger in interface ITriggerManager

manageUpdateTriggerBefore

public boolean manageUpdateTriggerBefore(java.lang.String className,
                                         NonNativeObjectInfo oldNnoi,
                                         java.lang.Object newObject,
                                         OID oid)
Specified by:
manageUpdateTriggerBefore in interface ITriggerManager

manageUpdateTriggerAfter

public void manageUpdateTriggerAfter(java.lang.String className,
                                     NonNativeObjectInfo oldNnoi,
                                     java.lang.Object newObject,
                                     OID oid)
Specified by:
manageUpdateTriggerAfter in interface ITriggerManager

manageDeleteTriggerBefore

public boolean manageDeleteTriggerBefore(java.lang.String className,
                                         java.lang.Object object,
                                         OID oid)
Specified by:
manageDeleteTriggerBefore in interface ITriggerManager

manageDeleteTriggerAfter

public void manageDeleteTriggerAfter(java.lang.String className,
                                     java.lang.Object object,
                                     OID oid)
Specified by:
manageDeleteTriggerAfter in interface ITriggerManager

manageSelectTriggerAfter

public void manageSelectTriggerAfter(java.lang.String className,
                                     java.lang.Object object,
                                     OID oid)
Specified by:
manageSelectTriggerAfter in interface ITriggerManager

isNull

protected boolean isNull(java.lang.Object object)

transform

public java.lang.Object transform(java.lang.Object object)
For the default object trigger, no transformation is needed

Specified by:
transform in interface ITriggerManager

getStorageEngine

public IStorageEngine getStorageEngine()