Class TypeComparators

java.lang.Object
org.assertj.core.internal.TypeComparators

public class TypeComparators extends Object
An internal holder of the comparators for type. It is used to store comparators for registered classes. When looking for a Comparator for a given class the holder returns the most relevant comparator.
  • Field Details

    • DOUBLE_COMPARATOR_PRECISION

      private static final double DOUBLE_COMPARATOR_PRECISION
      See Also:
    • DEFAULT_DOUBLE_COMPARATOR

      private static final DoubleComparator DEFAULT_DOUBLE_COMPARATOR
    • FLOAT_COMPARATOR_PRECISION

      private static final float FLOAT_COMPARATOR_PRECISION
      See Also:
    • DEFAULT_FLOAT_COMPARATOR

      private static final FloatComparator DEFAULT_FLOAT_COMPARATOR
    • CLASS_COMPARATOR

      private static final Comparator<Class<?>> CLASS_COMPARATOR
    • typeComparators

      Map<Class<?>,Comparator<?>> typeComparators
  • Constructor Details

    • TypeComparators

      public TypeComparators()
  • Method Details

    • defaultTypeComparators

      public static TypeComparators defaultTypeComparators()
    • get

      public Comparator<?> get(Class<?> clazz)
      This method returns the most relevant comparator for the given class. The most relevant comparator is the comparator which is registered for the class that is closest in the inheritance chain of the given clazz. The order of checks is the following: 1. If there is a registered comparator for clazz then this one is used 2. We check if there is a registered comparator for a superclass of clazz 3. We check if there is a registered comparator for an interface of clazz
      Parameters:
      clazz - the class for which to find a comparator
      Returns:
      the most relevant comparator, or null if no comparator could be found
    • hasComparatorForType

      public boolean hasComparatorForType(Class<?> type)
    • put

      public <T> void put(Class<T> clazz, Comparator<? super T> comparator)
      Puts the comparator for the given clazz.
      Type Parameters:
      T - the type of the objects for the comparator
      Parameters:
      clazz - the class for the comparator
      comparator - the comparator it self
    • isEmpty

      public boolean isEmpty()
      Returns:
      true is there are registered comparators, false otherwise
    • clear

      public void clear()
      Removes all registered comparators.
    • comparatorByTypes

      public Stream<Map.Entry<Class<?>,Comparator<?>>> comparatorByTypes()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • formatRegisteredComparator

      private static String formatRegisteredComparator(Map.Entry<Class<?>,Comparator<?>> next)