Class ComparingProperties

    • Method Summary

      All Methods Static 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.
      java.lang.String getDescription()
      Returns a human-readable description of the strategy to be used in error messages.
      (package private) static java.util.Set<java.lang.String> getPropertiesNamesOf​(java.lang.Class<?> clazz)  
      static java.util.Set<java.lang.reflect.Method> gettersIncludingInheritedOf​(java.lang.Class<?> clazz)  
      private static java.util.Set<java.lang.reflect.Method> gettersOf​(java.lang.Class<?> clazz)  
      private static boolean hasParameters​(java.lang.reflect.Method method)  
      private static boolean isBooleanProperty​(java.lang.reflect.Method method)  
      private static boolean isGetter​(java.lang.reflect.Method method)  
      private static boolean isPublic​(java.lang.reflect.Method method)  
      private static boolean isRegularGetter​(java.lang.reflect.Method method)  
      private static boolean isStatic​(java.lang.reflect.Method method)  
      private static java.lang.String toPropertyName​(java.lang.String methodName)  
      • Methods inherited from class java.lang.Object

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

      • ComparingProperties

        public ComparingProperties()
    • 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
      • getPropertiesNamesOf

        static java.util.Set<java.lang.String> getPropertiesNamesOf​(java.lang.Class<?> clazz)
      • toPropertyName

        private static java.lang.String toPropertyName​(java.lang.String methodName)
      • gettersIncludingInheritedOf

        public static java.util.Set<java.lang.reflect.Method> gettersIncludingInheritedOf​(java.lang.Class<?> clazz)
      • gettersOf

        private static java.util.Set<java.lang.reflect.Method> gettersOf​(java.lang.Class<?> clazz)
      • isStatic

        private static boolean isStatic​(java.lang.reflect.Method method)
      • isPublic

        private static boolean isPublic​(java.lang.reflect.Method method)
      • isGetter

        private static boolean isGetter​(java.lang.reflect.Method method)
      • isRegularGetter

        private static boolean isRegularGetter​(java.lang.reflect.Method method)
      • hasParameters

        private static boolean hasParameters​(java.lang.reflect.Method method)
      • isBooleanProperty

        private static boolean isBooleanProperty​(java.lang.reflect.Method method)