org.alfresco.util
Class EqualsHelper

java.lang.Object
  extended by org.alfresco.util.EqualsHelper

public class EqualsHelper
extends java.lang.Object

Utility class providing helper methods for various types of equals functionality


Nested Class Summary
static class EqualsHelper.MapValueComparison
          Enumeration for results returned by map comparisons.
 
Constructor Summary
EqualsHelper()
           
 
Method Summary
static boolean binaryStreamEquals(java.io.InputStream left, java.io.InputStream right)
          Performs a byte-level comparison between two streams.
static java.util.Map getMapComparison(java.util.Map left, java.util.Map right)
          Compare two maps.
static java.lang.String getMapDifferenceReport(java.util.Map actual, java.util.Map expected)
          Compare two maps and generate a difference report between the actual and expected values.
static boolean nullSafeEquals(java.lang.Object left, java.lang.Object right)
          Performs an equality check left.equals(right) after checking for null values
static boolean nullSafeEquals(java.lang.String left, java.lang.String right, boolean ignoreCase)
          Performs an case-sensitive or case-insensitive equality check after checking for null values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EqualsHelper

public EqualsHelper()
Method Detail

nullSafeEquals

public static boolean nullSafeEquals(java.lang.Object left,
                                     java.lang.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(java.lang.String left,
                                     java.lang.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(java.io.InputStream left,
                                         java.io.InputStream right)
                                  throws java.io.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:
java.io.IOException

getMapDifferenceReport

public static java.lang.String getMapDifferenceReport(java.util.Map actual,
                                                      java.util.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.

getMapComparison

public static java.util.Map getMapComparison(java.util.Map left,
                                             java.util.Map right)
Compare two maps.

The return codes that accompany the keys are:

Parameters:
left - the left side of the comparison
right - the right side of the comparison
Returns:
Returns a map whose keys are a union of the two maps' keys, along with the value comparison result


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.