Class DefaultRecursiveComparisonIntrospectionStrategy

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.String>> fieldNamesPerClass  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object getChildNodeValue​(java.lang.String childNodeName, java.lang.Object instance)
      Returns the value of the given object child node, the child node being identified by the childNodeName parameter.
      java.util.Set<java.lang.String> getChildrenNodeNamesOf​(java.lang.Object node)
      Returns the names of the children nodes of the given object that will be used in the recursive comparison.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • fieldNamesPerClass

        private final java.util.Map<java.lang.Class<?>,​java.util.Set<java.lang.String>> fieldNamesPerClass
    • Constructor Detail

      • DefaultRecursiveComparisonIntrospectionStrategy

        public DefaultRecursiveComparisonIntrospectionStrategy()
    • Method Detail

      • getChildrenNodeNamesOf

        public java.util.Set<java.lang.String> getChildrenNodeNamesOf​(java.lang.Object node)
        Description copied from interface: RecursiveComparisonIntrospectionStrategy
        Returns the names of the children nodes of the given object that will be used in the recursive comparison.

        A typical implementation could look at the object fields or properties.

        Specified by:
        getChildrenNodeNamesOf in interface RecursiveComparisonIntrospectionStrategy
        Parameters:
        node - the object to get the child nodes from
        Returns:
        the names of the children nodes of the given object
      • getChildNodeValue

        public java.lang.Object getChildNodeValue​(java.lang.String childNodeName,
                                                  java.lang.Object instance)
        Description copied from interface: RecursiveComparisonIntrospectionStrategy
        Returns the value of the given object child node, the child node being identified by the childNodeName parameter.

        It's the implementor choice how to resolve the child node value, a typical implementation consists of considering childNodeName to be a field name and then use introspection to read the field value, but if the object is a Map the implementation could consider the child node name to be a key of the map.

        Specified by:
        getChildNodeValue in interface RecursiveComparisonIntrospectionStrategy
        Parameters:
        childNodeName - the child node identifier
        instance - the object to read the child node from
        Returns:
        the object child node value