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.
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 ValueObjectTypeHistorical 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
CustomTypeProperty-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.
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).Date provider for
CommitMetadata.getCommitDate()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
EntityTypeRecipe for
EntityTypeFluent 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)
A strategy used in
JaversBuilder.registerIgnoredClassesStrategy(IgnoredClassesStrategy)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
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
This is the convenient abstraction layer awkward java.lang.reflect.Type and java.lang.Class
JaversRepository query.
Advanced variant of
Can be used to write polymorphic/generic type adapters.
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
Changes on a Map property
New object added to a graph
Node scope change appender (NewObject & ObjectRemoved)
holds two versions of the same
ObjectNodeCompares Strings treating blank and null strings as equal.
Object access hook
Used for accessing object before commit.
Used for accessing object before commit.
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
ValueTypeItem 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
ValueObjectTypeRecipe for
ValueObjectTypeFluent 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.