Class EqualsHelper


  • @AlfrescoPublicApi
    public class EqualsHelper
    extends Object
    Utility class providing helper methods for various types of equals functionality
    Author:
    Derek Hulley
    • Constructor Detail

      • EqualsHelper

        public EqualsHelper()
    • Method Detail

      • nullSafeEquals

        public static boolean nullSafeEquals​(Object left,
                                             Object right)
        Performs an equality check left.equals(right) after checking for null values
        Parameters:
        left - the Object appearing in the left side of an equals statement
        right - the Object appearing in the right side of an equals statement
        Returns:
        Return true or false even if one or both of the objects are null
      • nullSafeEquals

        public static boolean nullSafeEquals​(String left,
                                             String right,
                                             boolean ignoreCase)
        Performs an case-sensitive or case-insensitive equality check after checking for null values
        Parameters:
        ignoreCase - true to ignore case
      • binaryStreamEquals

        public static boolean binaryStreamEquals​(InputStream left,
                                                 InputStream right)
                                          throws IOException
        Performs a byte-level comparison between two streams.
        Parameters:
        left - the left stream. This is closed at the end of the operation.
        right - an right stream. This is closed at the end of the operation.
        Returns:
        Returns true if the streams are identical to the last byte
        Throws:
        IOException
      • getMapDifferenceReport

        public static String getMapDifferenceReport​(Map<?,​?> actual,
                                                    Map<?,​?> expected)
        Compare two maps and generate a difference report between the actual and expected values. This method is particularly useful during unit tests as the result (if not null) can be appended to a failure message.
        Parameters:
        actual - the map in hand
        expected - the map expected
        Returns:
        Returns a difference report or null if there were no differences. The message starts with a new line and is neatly formatted.