Class 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.

    See Also:
    Serialized Form
    • 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 to toString().
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • changesSummary

        public java.lang.String changesSummary()
      • countByType

        public java.util.Map<java.lang.Class<? extends Change>,​java.lang.Integer> countByType()