package org.zstack.core.db; public interface TransactionalCallback { public static enum Operation { PERSIST, UPDATE, REMOVE, } void suspend(Class<?>...entityClass); void resume(Class<?>...entityClass); void flush(Class<?>...entityClass); void beforeCommit(Operation op, boolean readOnly, Class<?>...entityClass); void beforeCompletion(Operation op, Class<?>...entityClass); void afterCommit(Operation op, Class<?>...entityClass); void afterCompletion(Operation op, int status, Class<?>...entityClass); }