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
key/value store layer.
Interface Summary Interface Description CreateListenerListener interface for notifications that an object has just been created. DeleteListenerListener interface for notifications that an object is about to be deleted. FieldSwitch<R>Visitor pattern interface for
ListFieldChangeListenerListener interface for notifications of a change in value of a
MapFieldChangeListenerListener interface for notifications of a change in value of a
SetFieldChangeListenerListener interface for notifications of a change in value of a
SimpleFieldChangeListenerListener interface for notifications of a change in value of a
Transaction.CallbackCallback interface for notification of transaction completion events. VersionChangeListenerListener 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 to
Field, such as a collection or map field.
CompositeIndexRepresents a composite index on an
Indeximplementation representing a index on a single field.
Index2implementation representing a composite index on two fields.
Index3implementation representing a composite index on three fields.
Index4implementation representing a composite index on four fields.
CounterFieldCounter fields. DatabaseProvides an object database abstraction on top of a key/value database. EnumArrayFieldA field that contains an array (having one or more dimensions) of values chosen from an ordered list of unique
EnumFieldA field that contains a value chosen from in an ordered list of unique
EnumValue Field<T> FieldSwitchAdapter<R>Adapter class for
FieldType<T>Defines the encoding, ordering, and range of possible values for a
FieldTypeRegistryA registry of
LayoutConstants and utility methods relating to the encoding and layout of a
Databasein a key/value store.
ListField<E>List field. MapField<K,V>Map field. ObjIdObject IDs. ObjTypeRepresents a
ReferenceFieldA field that references another
SchemaContains information describing one schema version. SchemaItem Schemas SetField<E>Set field. SimpleField<T>A simple
Transactionthat persists indefinitely.
Transaction.CallbackAdapterAdapter class for
Transaction.ListenerSet VersionContains library version information.
Enum Summary Enum Description DeleteActionDescribes what action to take when an object that is still referred to by some other object is deleted.
Exception Summary Exception Description DatabaseExceptionSuperclass of all unchecked exceptions thrown by a
DeletedObjectExceptionThrown when an object is accessed but the object does not exist in its associated transaction. InconsistentDatabaseExceptionThrown when inconsistent content is detected in a
Databaseindicating a corrupted or invalid database, or a buggy underlying key-value store.
InvalidObjectVersionExceptionThrown when an object is found to have an invalid schema version. InvalidReferenceExceptionThrown when attempting to set a reference field to a disallowed object type. InvalidSchemaExceptionThrown by
Database.createTransaction(io.permazen.schema.SchemaModel, int, boolean)when the provided schema is invalid.
ReferencedObjectException RollbackOnlyTransactionExceptionThrown on an attempt to
commit()a transaction that has been marked rollback-only.
Database.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.
StaleTransactionExceptionThrown when a transaction that has been committed, rolled back, or otherwise invalidated is accessed. TransactionExceptionSuperclass of exceptions associated with a specific
TypeNotInSchemaVersionExceptionThrown when attempting to update a database object to a schema version in which the object's type is not defined. UnknownFieldExceptionThrown when an unknown field is accessed. UnknownIndexExceptionThrown when an unknown index is accessed. UnknownTypeExceptionThrown when attempting to access an unknown type.