package org.jboss.seam.annotations;
/**
* A full set of flush modes, including MANUAL,
* which is a glaring missing feature of the JPA
* spec.
*
* @author Gavin King
*
*/
public enum FlushModeType
{
/**
* Flushing never occurs automatically, all changes are queued
* until the application calls flush() explicitly.
*/
MANUAL,
/**
* Flushing occurs automatically at commit time and when necessary
* before query executions.
*/
AUTO,
/**
* Flushing occurs automatically at transaction commit time.
*/
COMMIT;
/**
* Does this flush mode keep unflushed changes past a
* transaction commit?
*
* @return false for all flush modes except for MANUAL
*/
public boolean dirtyBetweenTransactions()
{
return this==MANUAL;
}
}