# The Java Database Enumerated Constants

The following enumerated values are defined in the Database class:

### Class Definition

        public class Database implements java.io.Closeable
        {
            public enum TransactionType
            {
                ReadOnly,
                Update,
                ReadWrite,
                Exclusive
            };

            public enum TransactionPriority
            {
                Idle,
                Background,
                Foreground,
                AboveNormal,
                Highest
            };

            public enum IsolationLevel
            {
                Default,
                ReadCommitted,
                RepeatableRead,
                Serializable
            };

            /* Transaction log types */
            public enum
            {
                NoLog,
                RedoLog,
                UndoLog
            };

            public enum IndexType
            {
                Hashtable,
                BTree,
                Patricia,
                RTree,
                RTreeOfPoint,
                Trigram
            }
            static final String[] indexTypeName =
            {"hash", "tree", "patricia", "rtree", "rtree", "trigram"};

            public enum EventType
            {
                OnNew,
                OnFieldUpdate,
                OnDelete,
                OnDeleteAll,
                OnCheckpoint,
                OnUpdate
            }
            static final String[] eventTypeName =
            {"new", "update", "delete", "delete_all", "checkpoint", "update"};

            public enum CommitPolicy
            {
                /**
                * Wait until all changes are saved on disk. (the default policy)
                */
                SyncFlush,
                /**
                * Do not flush changes to disk.
                */
                Buffered,   /* runtime buffered transactions */
                /**
                * Delay flushing changes to disk until the size of the changes or number of delayed transactions exceeds
                * the specified threshold value.
                */
                Delayed,
                /**
                * Flush changes to disk asynchronously.
                */
                NoSync
            };

            public enum TransSchedPolicy
            {
                /**
                * Honest policy: first-in first-out
                */
                Fifo,
                /**
                * Place readers in queue before writers
                */
                ReaderFavor,
                /**
                * Place writers in queue  before readers
                */
                WriterFavor
            };

            public enum BackupType
            {
                Auto,
                Snapshot,
                Incremental
            };

            ...
        }

### Definitions

`TransactionType` | The eXtremeDB Transaction type
`TransactionPriority` | The eXtremeDB Transaction priority
`IsolationLevel` | The eXtremeDB Isolation Level
`TransSchedPolicy` | The eXtremeDB Transaction Scheduling Policy
`Log Type` | The transaction log type
`IndexType` | The eXtremeDB index type
`EventType` | The eXtremeDB event type
`CommitPolicy` | The eXtremeDB persistent database transaction commit policy
`BackupType` | The eXtremeDB Incremental Backup type