us.ihmc.utilities.reflect
Class RecursiveObjectComparer

java.lang.Object
  extended by us.ihmc.utilities.reflect.RecursiveObjectComparer

public class RecursiveObjectComparer
extends java.lang.Object

Author:
Twan

Constructor Summary
RecursiveObjectComparer(int maxDepth, int maxSize)
          top level constructor
 
Method Summary
 void addClassesToIgnore(java.util.Collection<? extends java.lang.Class<?>> classesToIgnore)
           
 void addClassToIgnore(java.lang.Class<?> classToIgnore)
           
 void addFieldsToIgnore(java.util.Collection<java.lang.reflect.Field> fieldsToIgnore)
           
 void addFieldToIgnore(java.lang.reflect.Field fieldToIgnore)
           
 void addObjectPairsToIgnore(java.util.Map<java.lang.Object,java.util.ArrayList<java.lang.Object>> additionalObjectPairsToIgnore)
           
 void addStringFieldsToIgnore(StringFieldMatcher stringFieldMatcherToIgnore)
           
 void clear()
           
 boolean compare(java.lang.Object object1, java.lang.Object object2)
           
 java.util.ArrayList<java.lang.reflect.Field> getDifferingFields()
           
 long getFieldsProcessed()
           
 java.util.ArrayList<java.lang.Object[]> getLowestLevelObjectDifferenceList()
           
 java.util.ArrayList<java.lang.String> getLowestLevelObjectDifferenceLocations()
           
 java.util.HashMap<java.lang.Object,java.util.ArrayList<java.lang.Object>> getLowestLevelObjectDifferenceMap()
           
 long getPrimitivesProcessed()
           
 boolean isTopLevel()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RecursiveObjectComparer

public RecursiveObjectComparer(int maxDepth,
                               int maxSize)
top level constructor

Method Detail

compare

public boolean compare(java.lang.Object object1,
                       java.lang.Object object2)
                throws java.lang.IllegalArgumentException,
                       java.lang.IllegalAccessException
Throws:
java.lang.IllegalArgumentException
java.lang.IllegalAccessException

clear

public void clear()

isTopLevel

public boolean isTopLevel()

getPrimitivesProcessed

public long getPrimitivesProcessed()

getFieldsProcessed

public long getFieldsProcessed()

getDifferingFields

public java.util.ArrayList<java.lang.reflect.Field> getDifferingFields()

getLowestLevelObjectDifferenceList

public java.util.ArrayList<java.lang.Object[]> getLowestLevelObjectDifferenceList()

getLowestLevelObjectDifferenceMap

public java.util.HashMap<java.lang.Object,java.util.ArrayList<java.lang.Object>> getLowestLevelObjectDifferenceMap()

getLowestLevelObjectDifferenceLocations

public java.util.ArrayList<java.lang.String> getLowestLevelObjectDifferenceLocations()

addFieldToIgnore

public void addFieldToIgnore(java.lang.reflect.Field fieldToIgnore)

addFieldsToIgnore

public void addFieldsToIgnore(java.util.Collection<java.lang.reflect.Field> fieldsToIgnore)

addStringFieldsToIgnore

public void addStringFieldsToIgnore(StringFieldMatcher stringFieldMatcherToIgnore)

addClassToIgnore

public void addClassToIgnore(java.lang.Class<?> classToIgnore)

addClassesToIgnore

public void addClassesToIgnore(java.util.Collection<? extends java.lang.Class<?>> classesToIgnore)

addObjectPairsToIgnore

public void addObjectPairsToIgnore(java.util.Map<java.lang.Object,java.util.ArrayList<java.lang.Object>> additionalObjectPairsToIgnore)

toString

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