Class RecursiveFieldByFieldComparator

  • All Implemented Interfaces:
    java.util.Comparator<java.lang.Object>

    public class RecursiveFieldByFieldComparator
    extends java.lang.Object
    implements java.util.Comparator<java.lang.Object>
    Compares objects field/property by field/property recursively.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean areEqual​(java.lang.Object actual, java.lang.Object other)  
      int compare​(java.lang.Object actual, java.lang.Object other)  
      private boolean isNullOrEmpty​(TypeComparators comparatorByType)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Field Detail

      • comparatorByPropertyOrField

        private final java.util.Map<java.lang.String,​java.util.Comparator<?>> comparatorByPropertyOrField
    • Constructor Detail

      • RecursiveFieldByFieldComparator

        public RecursiveFieldByFieldComparator​(java.util.Map<java.lang.String,​java.util.Comparator<?>> comparatorByPropertyOrField,
                                               TypeComparators comparatorByType)
    • Method Detail

      • isNullOrEmpty

        private boolean isNullOrEmpty​(TypeComparators comparatorByType)
      • compare

        public int compare​(java.lang.Object actual,
                           java.lang.Object other)
        Specified by:
        compare in interface java.util.Comparator<java.lang.Object>
      • areEqual

        protected boolean areEqual​(java.lang.Object actual,
                                   java.lang.Object other)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object