Package org.assertj.core.internal
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.- Author:
- Filip Hrisafov
-
-
Field Summary
Fields Modifier and Type Field Description private static Comparator<Class<?>>CLASS_COMPARATORprivate static DoubleComparatorDEFAULT_DOUBLE_COMPARATORprivate static FloatComparatorDEFAULT_FLOAT_COMPARATORprivate static doubleDOUBLE_COMPARATOR_PRECISIONprivate static floatFLOAT_COMPARATOR_PRECISION(package private) Map<Class<?>,Comparator<?>>typeComparators
-
Constructor Summary
Constructors Constructor Description TypeComparators()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Removes all registered comparators.Stream<Map.Entry<Class<?>,Comparator<?>>>comparatorByTypes()static TypeComparatorsdefaultTypeComparators()booleanequals(Object obj)private static StringformatRegisteredComparator(Map.Entry<Class<?>,Comparator<?>> next)Comparator<?>get(Class<?> clazz)This method returns the most relevant comparator for the given class.booleanhasComparatorForType(Class<?> type)inthashCode()booleanisEmpty()<T> voidput(Class<T> clazz, Comparator<? super T> comparator)Puts thecomparatorfor the givenclazz.StringtoString()
-
-
-
Field Detail
-
DOUBLE_COMPARATOR_PRECISION
private static final double DOUBLE_COMPARATOR_PRECISION
- See Also:
- Constant Field Values
-
DEFAULT_DOUBLE_COMPARATOR
private static final DoubleComparator DEFAULT_DOUBLE_COMPARATOR
-
FLOAT_COMPARATOR_PRECISION
private static final float FLOAT_COMPARATOR_PRECISION
- See Also:
- Constant Field Values
-
DEFAULT_FLOAT_COMPARATOR
private static final FloatComparator DEFAULT_FLOAT_COMPARATOR
-
CLASS_COMPARATOR
private static final Comparator<Class<?>> CLASS_COMPARATOR
-
typeComparators
Map<Class<?>,Comparator<?>> typeComparators
-
-
Method Detail
-
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 givenclazz. The order of checks is the following: 1. If there is a registered comparator forclazzthen this one is used 2. We check if there is a registered comparator for a superclass ofclazz3. We check if there is a registered comparator for an interface ofclazz- Parameters:
clazz- the class for which to find a comparator- Returns:
- the most relevant comparator, or
nullif no comparator could be found
-
hasComparatorForType
public boolean hasComparatorForType(Class<?> type)
-
put
public <T> void put(Class<T> clazz, Comparator<? super T> comparator)
Puts thecomparatorfor the givenclazz.- Type Parameters:
T- the type of the objects for the comparator- Parameters:
clazz- the class for the comparatorcomparator- the comparator it self
-
isEmpty
public boolean isEmpty()
- Returns:
trueis there are registered comparators,falseotherwise
-
clear
public void clear()
Removes all registered comparators.
-
comparatorByTypes
public Stream<Map.Entry<Class<?>,Comparator<?>>> comparatorByTypes()
-
formatRegisteredComparator
private static String formatRegisteredComparator(Map.Entry<Class<?>,Comparator<?>> next)
-
-