Package io.permazen.core
Core classes for the Permazen Java persistence layer.
The classes in this package implement the Permazen core API. The core API layer can function
entirely independently from the annotation-based Permazen
Java object model layer;
the latter is implemented on top of these classes. In turn, the core API layer is implemented on top
of the key/value store
layer.
- See Also:
io.permazen
,io.permazen.kv
, The Permazen Project
-
Interface Summary Interface Description CreateListener Listener interface for notifications that an object has just been created.DeleteListener Listener interface for notifications that an object is about to be deleted.FieldSwitch<R> Visitor pattern interface forField
s.ListFieldChangeListener Listener interface for notifications of a change in value of aListField
.MapFieldChangeListener Listener interface for notifications of a change in value of aMapField
.SetFieldChangeListener Listener interface for notifications of a change in value of aSetField
.SimpleFieldChangeListener Listener interface for notifications of a change in value of aSimpleField
.Transaction.Callback Callback interface for notification of transaction completion events.VersionChangeListener Listener interface for notifications that an object's schema version has been changed to match the current transaction. -
Class Summary Class Description CollectionField<C extends Collection<E>,E> Superclass of fields with types assignable toCollection
.ComplexField<T> A complexField
, such as a collection or map field.CompositeIndex Represents a composite index on anObjType
.CoreIndex<V,T> Core APIIndex
implementation representing a index on a single field.CoreIndex2<V1,V2,T> Core APIIndex2
implementation representing a composite index on two fields.CoreIndex3<V1,V2,V3,T> Core APIIndex3
implementation representing a composite index on three fields.CoreIndex4<V1,V2,V3,V4,T> Core APIIndex4
implementation representing a composite index on four fields.CounterField Counter fields.Database Provides an object database abstraction on top of a key/value database.EnumArrayField A field that contains an array (having one or more dimensions) of values chosen from an ordered list of uniqueString
identifiers.EnumField A field that contains a value chosen from in an ordered list of uniqueString
identifiers.EnumValue Field<T> FieldSwitchAdapter<R> Adapter class forFieldSwitch
.FieldType<T> Defines the encoding, ordering, and range of possible values for aSimpleField
.FieldTypeRegistry A registry ofFieldType
s.Layout Constants and utility methods relating to the encoding and layout of aDatabase
in a key/value store.ListField<E> List field.MapField<K,V> Map field.ObjId Object IDs.ObjType Represents aDatabase
object type.ReferenceField A field that references anotherDatabase
object.Schema Contains information describing one schema version.SchemaItem Schemas Contains the set of allSchema
s of objects visible in aTransaction
.SetField<E> Set field.SimpleField<T> A simpleField
.SnapshotTransaction A "snapshot"Transaction
that persists indefinitely.Transaction A PermazenDatabase
transaction.Transaction.CallbackAdapter Adapter class forTransaction.Callback
.Transaction.ListenerSet A fixed collection of listeners (CreateListener
s,DeleteListener
s,VersionChangeListener
s,SimpleFieldChangeListener
s,SetFieldChangeListener
s,ListFieldChangeListener
s, andMapFieldChangeListener
s) that can be efficiently registered on aTransaction
all at once.Version Contains library version information. -
Enum Summary Enum Description DeleteAction Describes what action to take when an object that is still referred to by some other object is deleted. -
Exception Summary Exception Description DatabaseException Superclass of all unchecked exceptions thrown by aDatabase
.DeletedObjectException Thrown when an object is accessed but the object does not exist in its associated transaction.InconsistentDatabaseException Thrown when inconsistent content is detected in aDatabase
indicating a corrupted or invalid database, or a buggy underlying key-value store.InvalidObjectVersionException Thrown when an object is found to have an invalid schema version.InvalidReferenceException Thrown when attempting to set a reference field to a disallowed object type.InvalidSchemaException Thrown byDatabase.createTransaction(io.permazen.schema.SchemaModel, int, boolean)
when the provided schema is invalid.ReferencedObjectException Thrown on an attempt to delete an object which is still referenced by aReferenceField
configured forDeleteAction.EXCEPTION
.RollbackOnlyTransactionException Thrown on an attempt tocommit()
a transaction that has been marked rollback-only.SchemaMismatchException Thrown byDatabase.createTransaction(io.permazen.schema.SchemaModel, int, boolean)
when the given schema cannot be matched with the schema of the same version already recorded in the database, or cannot be added to the database because it is incompatible with one or more prior schema versions.StaleTransactionException Thrown when a transaction that has been committed, rolled back, or otherwise invalidated is accessed.TransactionException Superclass of exceptions associated with a specificTransaction
.TypeNotInSchemaVersionException Thrown when attempting to update a database object to a schema version in which the object's type is not defined.UnknownFieldException Thrown when an unknown field is accessed.UnknownIndexException Thrown when an unknown index is accessed.UnknownTypeException Thrown when attempting to access an unknown type.