All Classes and Interfaces

Class
Description
 
 
Convenient scaffolding class for text changeLog rendering
 
 
 
Changes on an Array property
 
 
Immutable wrapper for client's Primitives, Values and Id's

Value needs to be dehydrated before persisting.
 
Convenient abstract implementation of JsonTypeAdapter.
Compares BigDecimals in the right way — ignoring trailing zeros.
Abstract holder for client's domain object, EntityType or ValueObjectType
Historical state of a domain object captured as the property->value Map.
 
 
 
 
 
 
Change represents an atomic difference between two objects.
Builds snapshots for provided live objects.
 
For convenient change processing, e.g.
Convenient wrapper for the list of Changes returned by Javers.findChanges(JqlQuery).
List of Changes done in a specific commit.
List of Changes done on a specific object.
 
 
Facade for PropertyScanner and ClassAnnotationScanner
 
Changes on a Collection property
 
 
 
JaVers commit is a similar concept to GIT commit.
 
 
 
 
 
 
 
 
 
 
Changes on an Array or Collection property
Any change in an Array or Collection
Collection or Array
 
 
 
Compares BigDecimals with custom precision.
 
Recipe for CustomType
Property-scope comparator bounded to CustomType.
 
Custom Types are not easy to manage, use it as a last resort,
only for corner cases like comparing custom Collection types.


JaVers treats a Custom Type as a black box and doesn't take any assumptions about its content or behaviour.
A custom comparator for ValueType classes to be used instead of default Object.equals(Object).
 
 
based on Guava com.google.common.base.Defaults
Diff is a list of changes between two object graphs.
 
 
 
 
Use DiffIgnore annotation to mark certain properties or classes as ignored by Javers.
Use the DiffIgnoreProperties annotation to mark a list properties (fields or methods) of a class as ignored by Javers.
Use DiffInclude annotation to tell JaVers which properties to include in diff/commit operations for a given class.
 
 
 
Value changed at certain index in an Array or List
Maps a user's class to EntityType
Recipe for EntityType
Fluent builder for EntityDefinition, allows to set all optional attributes: Id-properties, ignoredProperties and typeAlias, for example:
Entity class in client's domain model.
Entry added to a Map
Entry added or removed from a Map
Any change in a Map
Entry removed from a Map
Changed value assigned to a key in a Map
 
Collection or Array or Map
 
 
 
Global ID of Client's domain object (CDO)
 
 
 
 
 
 
 
 
Use @Id to map Entity unique identifier (field or getter)
Use IgnoreDeclaredProperties annotation to mark all properties declared in a given class as ignored by JaVers.
All properties with IgnoredType are ignored by JaVers engine
 
InitialValueChange is a subtype of ValueChange with null on left and a property value on right.
Fake impl of JaversRepository
Entity instance global identifier, consists of Entity reference and cdoId
 
 
 
A JaVers instance.
Should be constructed by JaversBuilder provided with your domain model configuration.
 
Creates a JaVers instance based on your domain model metadata and custom configuration.
 
 
 
 
Enums with all Javers errors codes
 
 
 
Enhanced Field or Method, deals with Java type erasure.
 
Class property with JaversType
JaversRepository is responsible for persisting Commits calculated by Javers core.
Managed property type

This is the convenient abstraction layer awkward java.lang.reflect.Type and java.lang.Class
 
JaversRepository query.
Advanced variant of JsonTypeAdapter.
Can be used to write polymorphic/generic type adapters.
Javers is meant to support various persistence stores for any kind of client's data, hence we use JSON format to serialize/deserialize client's domain objects.
 
JsonTypeAdapter allows to customize JSON serialization of your ValueType or CustomType in a JaversRepository.
 
 
 
 
 
 
 
Changes on a List property
 
 
 
 
 
 
 
 
MapChange<T extends Map<?,?>>
Changes on a Map property
 
 
 
 
 
 
 
 
 
 
 
New object added to a graph
Node scope change appender (NewObject & ObjectRemoved)
holds two versions of the same ObjectNode
Compares Strings treating blank and null strings as equal.
Object access hook

Used for accessing object before commit.
 
 
ObjectGraph<T extends Cdo>
 
 
ObjectNode<T extends Cdo>
Node in client's domain object graph.
Object removed from a graph
 
 
 
 
 
 
 
 
 
 
 
 
Primitive or primitive box
 
 
Domain object's data property, getter or field
Change on object's property of any type (Value, List, Set, Map, Array or Reference)
Property-scope comparator, follows Chain-of-responsibility pattern.
 
When two objects being compared have different classes, they can have different sets of properties.
 
Use PropertyName annotation to give a name for a Class property (getter or field).
 
Fluent API for building JqlQuery, executed with Javers.findChanges(JqlQuery) and Javers.findSnapshots(JqlQuery)
Container for additional query parameters used for filtering Snapshots to be fetched from database.
 
 
Changed reference to Entity or Value Object
 
 
 
 
Changes on a Set property
 
 
 
Shadow is a historical version of a domain object restored from a snapshot loaded from JaversRepository.
 
 
 
Use ShallowReference to mark certain Entities as compared only by Id.
 
 
Sample text changeLog, renders text log like that:
 
 
Builds SnapshotGraph from latest snapshots loaded from javersRepository
 
 
 
 
 
 
TerminalValueChange is a subtype of ValueChange with a property value on left and null on right.
 
 
Maps Java types into Javers types
for lazy type loading
 
Gives a persistent and human-readable type name for Entity or ValueObject.
Unbounded ValueObject, has '/' as symbolic cdoId representation.
 
Generic type created when a class definition for named type is missing.
 
Set of utils for methods preconditions.
Maps user's class to ValueType
Item added to an Array or Collection
Abstract change in a collection
Change on a Value property, like int or String
 
 
Maps a user's class to ValueObjectType
Recipe for ValueObjectType
Fluent builder for ValueObjectDefinition, allows to set all optional attributes: ignoredProperties and typeName, for example:
ValueObject global unique identifier.
 
 
ValueObject class in client's domain model.
Item removed from an Array or Collection
Value class in a client's domain model is a simple value holder.