Permazen 4.2.0 API
This is the API documentation for the Permazen Java library.
Permazen makes powerful persistence simple for Java programmers.
Permazen's goal is to make Java persistence as simple as possible, doing so in a Java-centric manner, while remaining strictly type safe.
Permazen does this without sacrificing flexibility or scalability by relegating the database to the simplest role possible - storing data as key/value pairs - and providing all other supporting features, such as indexes, command line interface, etc., in a simpler, type-safe, Java-centric way.
Permazen also adds important new features that traditional databases don't provide.
- Designed from the ground up to be Java-centric; completely type-safe.
- Works on top of any database that can function as a key/value store (SQL, NoSQL, etc.)
- Scales gracefully to large data sets; no "whole database" operation is ever required
- Configured entirely via Java annotations (only one is required)
- Queries are regular Java code - there is no "query language" needed
- Change notifications from arbitrarily distant objects
- Built-in support for rolling schema changes across multiple nodes with no downtime
- Supports simple and composite indexes and user-defined custom types
- Extensible command line interface (CLI) supporting arbitrary Java queries
- Built-in Java-aware graphical user interface (GUI) based on Vaadin
Visit the Permazen project homepage at https://github.com/permazen/permazen/
.
Package | Description |
---|---|
io.permazen |
Abstraction layer allowing access to a
Database using normal Java objects. |
io.permazen.annotation | |
io.permazen.ant |
Ant tasks relating to Permazen.
|
io.permazen.app |
Support for Permazen command line applications.
|
io.permazen.change |
Classes passed to
@OnChange -annotated methods. |
io.permazen.cli |
Permazen Command Line Interface (CLI) classes.
|
io.permazen.cli.app |
Support for Permazen command line interface (CLI) applications.
|
io.permazen.cli.cmd |
Permazen CLI
Command related classes, including pre-defined commands. |
io.permazen.cli.func |
Permazen CLI pre-defined
Function s. |
io.permazen.cli.telnet |
Support for Permazen Command Line Interface (CLI) over telnet connections.
|
io.permazen.core |
Core classes for the Permazen Java persistence layer.
|
io.permazen.core.type |
Permazen
FieldType s. |
io.permazen.core.util |
Permazen core API utility classes.
|
io.permazen.demo |
Demonstration Java model classes.
|
io.permazen.index |
Permazen index classes.
|
io.permazen.jsck |
Classes associated with
Jsck , the Permazen key/value database consistency checker. |
io.permazen.jsck.cmd |
CLI commands associated with
Jsck , the Permazen key/value database consistency checker. |
io.permazen.kv |
byte[] array key/value store API and related utility classes. |
io.permazen.kv.array |
A simple
KVStore implementation based on a sorted array of key/value pairs. |
io.permazen.kv.bdb |
KVDatabase implementation based on Oracle's Berkeley DB Java Edition. |
io.permazen.kv.caching |
Caching
KVStore and KVDatabase layers. |
io.permazen.kv.cockroach |
KVDatabase implementation based on CockroachDB. |
io.permazen.kv.fdb |
KVDatabase implementation based on FoundationDB. |
io.permazen.kv.leveldb |
KVDatabase implementation based on LevelDB. |
io.permazen.kv.lmdb |
KVDatabase implementation based on LMDB. |
io.permazen.kv.mssql |
KVDatabase implementation based on Microsoft SQL Server. |
io.permazen.kv.mvcc |
Utility classes for MVCC type operations using a
KVStore . |
io.permazen.kv.mvstore |
AtomicKVStore and KVDatabase implementations based
on H2 MVStore. |
io.permazen.kv.mysql |
KVDatabase implementation based on MySQL. |
io.permazen.kv.raft |
A distributed
KVDatabase based on the Raft consensus algorithm. |
io.permazen.kv.raft.cmd |
Raft-related CLI
Command s. |
io.permazen.kv.raft.fallback |
A partition-tolerant
KVDatabase that automatically migrates between a clustered
RaftKVDatabase and a private non-clustered "standalone mode"
KVDatabase , based on availability of the Raft cluster. |
io.permazen.kv.raft.msg |
Raft inter-node messages.
|
io.permazen.kv.rocksdb |
KVDatabase implementation based on RocksDB. |
io.permazen.kv.simple |
A simple in-memory implementation of the
KVDatabase interface. |
io.permazen.kv.spanner |
KVDatabase implementation based on Google Cloud Spanner. |
io.permazen.kv.sql |
KVDatabase implementations based on SQL connections. |
io.permazen.kv.sqlite |
KVDatabase implementation based on SQLite. |
io.permazen.kv.test |
Permazen key/value unit test support classes.
|
io.permazen.kv.util |
Utility classes relating to the
KVDatabase interface. |
io.permazen.kv.xodus |
KVDatabase implementation based on Xodus. |
io.permazen.maven |
Permazen Maven plugins.
|
io.permazen.parse |
Permazen parsing related classes.
|
io.permazen.parse.expr |
Classes for parsing Java expressions with Permazen-specific extensions.
|
io.permazen.parse.func |
Function used in a ParseSession , including built-ins. |
io.permazen.parse.util |
Permazen parsing utility classes.
|
io.permazen.schema |
Classes for modeling Permazen
Database schemas. |
io.permazen.spring |
Spring Framework integration classes.
|
io.permazen.test |
Permazen unit test support classes.
|
io.permazen.tuple |
Generic typed classes holding ordered "tuples" of objects.
|
io.permazen.util |
General utility classes used with Permazen.
|
io.permazen.vaadin |
Classes to facilitate Vaadin applications that interact with a Permazen database.
|
io.permazen.vaadin.app |
Support for Permazen GUI applications based on Vaadin.
|