Package de.danielbechler.diff
Class ObjectDifferBuilder
java.lang.Object
de.danielbechler.diff.ObjectDifferBuilder
This is the entry point of every diffing operation. It acts as a factory to
get hold of an actual
ObjectDiffer instance and exposes a
configuration API to customize its behavior to suit your needs.-
Method Summary
Modifier and TypeMethodDescriptionbuild()static ObjectDifferAllows to assign custom categories (or tags) to entire types or selected elements and properties.Allows to define how the circular reference detector compares object instances.Allows to configure the way objects are compared.differs()Allows to exclude nodes from being added to the object graph based on criteria that are only known after the diff for the affected node and all its children has been determined.identity()EXPERT FEATURE: Allows to configure the way the identity of objects is determined in order to establish the relationship between different versions.Allows to in- or exclude nodes based on property name, object type, category or location in the object graph.Allows to replace the default bean introspector with a custom implementation.static ObjectDifferBuilder
-
Method Details
-
filtering
Allows to exclude nodes from being added to the object graph based on criteria that are only known after the diff for the affected node and all its children has been determined. -
introspection
Allows to replace the default bean introspector with a custom implementation. -
circularReferenceHandling
Allows to define how the circular reference detector compares object instances. -
inclusion
Allows to in- or exclude nodes based on property name, object type, category or location in the object graph. -
comparison
Allows to configure the way objects are compared. -
identity
EXPERT FEATURE: Allows to configure the way the identity of objects is determined in order to establish the relationship between different versions. By default this is done via theequalsmethod; but sometimes that's just not possible. For example when you are dealing with generated classes or you are dealing with third-party code. Please keep in mind that this only alters the way this library establishes the connection between two objects. This doesn't extend to the underlying collections. So keep what in mind when you start merging your collections and weird things start to happen. WARNING: Personally I'd try to avoid this feature as long as possible and only use it when there is absolutely no other way. -
categories
Allows to assign custom categories (or tags) to entire types or selected elements and properties. -
differs
-
buildDefault
-
startBuilding
-
build
-