Class TransformingComparator<I,​O>

  • Type Parameters:
    I - the input type to the transformer
    O - the output type from the transformer
    All Implemented Interfaces:
    java.io.Serializable, java.util.Comparator<I>

    public class TransformingComparator<I,​O>
    extends java.lang.Object
    implements java.util.Comparator<I>, java.io.Serializable
    Decorates another Comparator with transformation behavior. That is, the return value from the transform operation will be passed to the decorated compare method.

    This class is Serializable from Commons Collections 4.0.

    Since:
    2.1
    See Also:
    Transformer, ComparableComparator, Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int compare​(I obj1, I obj2)
      Returns the result of comparing the values from the transform operation.
      boolean equals​(java.lang.Object object)
      Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.
      int hashCode()
      Implement a hash code for this comparator that is consistent with equals.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Constructor Detail

      • TransformingComparator

        public TransformingComparator​(Transformer<? super I,​? extends O> transformer)
        Constructs an instance with the given Transformer and a ComparableComparator.
        Parameters:
        transformer - what will transform the arguments to compare
      • TransformingComparator

        public TransformingComparator​(Transformer<? super I,​? extends O> transformer,
                                      java.util.Comparator<O> decorated)
        Constructs an instance with the given Transformer and Comparator.
        Parameters:
        transformer - what will transform the arguments to compare
        decorated - the decorated Comparator
    • Method Detail

      • compare

        public int compare​(I obj1,
                           I obj2)
        Returns the result of comparing the values from the transform operation.
        Specified by:
        compare in interface java.util.Comparator<I>
        Parameters:
        obj1 - the first object to transform then compare
        obj2 - the second object to transform then compare
        Returns:
        negative if obj1 is less, positive if greater, zero if equal
      • hashCode

        public int hashCode()
        Implement a hash code for this comparator that is consistent with equals.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        a hash code for this comparator.
      • equals

        public boolean equals​(java.lang.Object object)
        Returns true iff that Object is is a Comparator whose ordering is known to be equivalent to mine.

        This implementation returns true iff that is a TransformingComparator whose attributes are equal to mine.

        Specified by:
        equals in interface java.util.Comparator<I>
        Overrides:
        equals in class java.lang.Object
        Parameters:
        object - the object to compare to
        Returns:
        true if equal