Class TransformingComparator<I,​O>

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

    public class TransformingComparator<I,​O>
    extends Object
    implements Comparator<I>, 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
    • 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,
                                      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 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 Object
        Returns:
        a hash code for this comparator.
      • equals

        public boolean equals​(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 Comparator<I>
        Overrides:
        equals in class Object
        Parameters:
        object - the object to compare to
        Returns:
        true if equal