Class TypeComparators


  • public class TypeComparators
    extends java.lang.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 Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.Class<?>,​java.util.Comparator<?>> typeComparators  
    • Constructor Summary

      Constructors 
      Constructor Description
      TypeComparators()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      java.util.Comparator<?> get​(java.lang.Class<?> clazz)
      This method returns the most relevant comparator for the given class.
      int hashCode()  
      boolean isEmpty()  
      <T> void put​(java.lang.Class<T> clazz, java.util.Comparator<T> comparator)
      Puts the comparator for the given clazz.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • typeComparators

        private java.util.Map<java.lang.Class<?>,​java.util.Comparator<?>> typeComparators
    • Constructor Detail

      • TypeComparators

        public TypeComparators()
    • Method Detail

      • get

        public java.util.Comparator<?> get​(java.lang.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 all the superclasses of clazz 3. We check if there is a registered comparator for all the interfaces if clazz
        Parameters:
        clazz - the class for which to find a comparator
        Returns:
        the most relevant comparator, or null if no comparator could be found
      • put

        public <T> void put​(java.lang.Class<T> clazz,
                            java.util.Comparator<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
      • hashCode

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

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

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