Package org.javers.core.diff
Class Diff
- java.lang.Object
-
- org.javers.core.diff.Diff
-
- All Implemented Interfaces:
java.io.Serializable
public class Diff extends java.lang.Object implements java.io.Serializable
Diff is a list of changes between two object graphs.
Typically, it is used to capture and trace changes made on domain objects. In this case, diff is done between previous and current state of an object graph.
getChanges()
returns a flat list of ChangesgroupByObject()
returns Changes grouped by objectsprettyPrint()
prints Changes to the the nicely formatted String- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
changesSummary()
java.util.Map<java.lang.Class<? extends Change>,java.lang.Integer>
countByType()
Changes
getChanges()
Flat list of changesjava.util.List<Change>
getChanges(java.util.function.Predicate<Change> predicate)
Changes that satisfies given filter<C extends Change>
java.util.List<C>getChangesByType(java.lang.Class<C> type)
<C extends Change>
java.util.ListgetObjectsByChangeType(java.lang.Class<C> type)
Selects new, removed or changed objectsjava.util.List
getObjectsWithChangedProperty(java.lang.String propertyName)
Selects objects with changed property for given property namejava.util.List<PropertyChange>
getPropertyChanges(java.lang.String propertyName)
Selects property changes for given property namejava.util.List<ChangesByObject>
groupByObject()
Changes grouped by entitiesboolean
hasChanges()
java.lang.String
prettyPrint()
Prints the nicely formatted list of Changes.java.lang.String
toString()
-
-
-
Method Detail
-
getObjectsByChangeType
public <C extends Change> java.util.List getObjectsByChangeType(java.lang.Class<C> type)
Selects new, removed or changed objects- Throws:
JaversException
- AFFECTED_CDO_IS_NOT_AVAILABLE if diff is restored from a repository
-
getObjectsWithChangedProperty
public java.util.List getObjectsWithChangedProperty(java.lang.String propertyName)
Selects objects with changed property for given property name- Throws:
JaversException
- AFFECTED_CDO_IS_NOT_AVAILABLE if diff is restored from repository,
-
getChanges
public Changes getChanges()
Flat list of changes
-
groupByObject
public java.util.List<ChangesByObject> groupByObject()
Changes grouped by entities- Since:
- 3.9
-
getChanges
public java.util.List<Change> getChanges(java.util.function.Predicate<Change> predicate)
Changes that satisfies given filter
-
getChangesByType
public <C extends Change> java.util.List<C> getChangesByType(java.lang.Class<C> type)
-
getPropertyChanges
public java.util.List<PropertyChange> getPropertyChanges(java.lang.String propertyName)
Selects property changes for given property name
-
hasChanges
public boolean hasChanges()
-
prettyPrint
public final java.lang.String prettyPrint()
Prints the nicely formatted list of Changes. Alias totoString()
.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
changesSummary
public java.lang.String changesSummary()
-
countByType
public java.util.Map<java.lang.Class<? extends Change>,java.lang.Integer> countByType()
-
-