public interface InclusionResolver
InclusionResolver
is a powerful and flexible
way to detect and exclude those objects.
Keep in mind that every single node in the object graph will be checked against each and every registered InclusionResolver
. If performance is important to you, make sure that calling its
methods is as cheap as possible.限定符和类型 | 方法和说明 |
---|---|
boolean |
enablesStrictIncludeMode()
When this method returns
true , it causes the inclusion service to exclude all nodes that are not
explicitly included via Inclusion.INCLUDED . |
Inclusion |
getInclusion(DiffNode node)
Determines whether a given
DiffNode should be included into the comparison
process. |
Inclusion getInclusion(DiffNode node)
DiffNode
should be included into the comparison
process.node
- The node to determine the inclusion for. Keep in mind that the DiffNode
doesn't contain any children at this point and
albeit it is already linked to its parent node, the parent node also probably hasn't been fully
processed yet. It is only safe to examine the node path and type related properties along the path
up to the root node, but definitely not to make any decisions based on the state or number of child
nodes.Inclusion.INCLUDED
to indicate an explicit
inclusion, Inclusion.EXCLUDED
to inidicate an explicit exclusion or
Inclusion.DEFAULT
in case this resolver doesn't want to influence the
decision. This method should never return null
.boolean enablesStrictIncludeMode()
true
, it causes the inclusion service to exclude all nodes that are not
explicitly included via Inclusion.INCLUDED
. Otherwise nodes with Inclusion.DEFAULT
will also be included.