package org.neodatis.odb.core.trigger;
import org.neodatis.odb.OID;
import org.neodatis.odb.core.layers.layer2.meta.NonNativeObjectInfo;
public interface ITriggerManager {
public abstract boolean manageInsertTriggerBefore(String className, Object object);
public abstract void manageInsertTriggerAfter(String className, final Object object, OID oid);
public abstract boolean manageUpdateTriggerBefore(String className, NonNativeObjectInfo oldObjectRepresentation, Object newObject, final OID oid);
public abstract void manageUpdateTriggerAfter(String className, final NonNativeObjectInfo oldObjectRepresentation, Object newObject, final OID oid);
public abstract boolean manageDeleteTriggerBefore(String className, final Object object, final OID oid);
public abstract void manageDeleteTriggerAfter(String className, final Object object, final OID oid);
public abstract void manageSelectTriggerAfter(String className, final Object object, final OID oid);
public void addUpdateTriggerFor(String className, UpdateTrigger trigger);
public void addInsertTriggerFor(String className, InsertTrigger trigger);
public void addOidTriggerFor(String className, OIDTrigger trigger);
public void addDeleteTriggerFor(String className, DeleteTrigger trigger);
public void addSelectTriggerFor(String className, SelectTrigger trigger);
/**
* used to transform object before real trigger call. This is used for
* example, in server side trigger where the object is encapsulated in an
* ObjectRepresentation instance. It is only for internal use
*/
public Object transform(Object object);
public boolean hasDeleteTriggersFor(String classsName);
public boolean hasInsertTriggersFor(String className);
public boolean hasOidTriggersFor(String className);
public boolean hasSelectTriggersFor(String className);
public boolean hasUpdateTriggersFor(String className);
/**
* @param objectInfo
* @param oid
*/
public abstract boolean manageOidTrigger(NonNativeObjectInfo objectInfo, OID oid);
}
Ads help maintain this website.