Package de.danielbechler.diff.circular
Interface CircularReferenceConfigurer
- All Known Implementing Classes:
CircularReferenceService
public interface CircularReferenceConfigurer
Allows to define how the circular reference detector compares object instances. By default it uses the equality
operator (`==`) which should be fine in most cases.
When dealing with object models that return copies of its properties on every access, it's possible to end up in
infinite loops, because even though the objects may look the same, they would be different instances. In those cases
it is possible to switch the instance detection mode to use the equals method instead of the equality operator. This
way objects will be considered to be "the same" whenever `equals` returns `true`.
This configuration interface also allows to register a custom handler for exception thrown, whenever a circular
reference is detected.
-
Method Summary
Modifier and TypeMethodDescriptionand()handleCircularReferenceExceptionsUsing(CircularReferenceExceptionHandler exceptionHandler) matchCircularReferencesUsing(CircularReferenceMatchingMode matchingMode)
-
Method Details
-
matchCircularReferencesUsing
CircularReferenceConfigurer matchCircularReferencesUsing(CircularReferenceMatchingMode matchingMode) -
handleCircularReferenceExceptionsUsing
CircularReferenceConfigurer handleCircularReferenceExceptionsUsing(CircularReferenceExceptionHandler exceptionHandler) -
and
ObjectDifferBuilder and()
-