Class ExtractorComparator<T>

java.lang.Object
com.tangosol.util.comparator.ExtractorComparator<T>
All Implemented Interfaces:
ExternalizableLite, PortableObject, Serializable, Comparator<T>

public class ExtractorComparator<T> extends Object implements Comparator<T>, ExternalizableLite, PortableObject
Comparator implementation that uses specified ValueExtractor to extract value(s) to be used for comparison.
Author:
as 2010.09.09
See Also:
  • Constructor Details

    • ExtractorComparator

      public ExtractorComparator()
      Default constructor (for PortableObject).
    • ExtractorComparator

      public ExtractorComparator(ValueExtractor<? super T,? extends E> extractor)
      Construct a ExtractorComparator with the specified extractor.
      Parameters:
      extractor - the ValueExtractor to use by this filter
  • Method Details

    • compare

      public int compare(T o1, T o2)
      Compares extracted values (by specified ValueExtractor) of given arguments for order.
      Specified by:
      compare in interface Comparator<T>
      Parameters:
      o1 - the first object to be compared
      o2 - the second object to be compared
      Returns:
      a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second
      Throws:
      ClassCastException - if the arguments' types prevent them from being compared by this Comparator.
    • readExternal

      public void readExternal(DataInput in) throws IOException
      Description copied from interface: ExternalizableLite
      Restore the contents of this object by loading the object's state from the passed DataInput object.
      Specified by:
      readExternal in interface ExternalizableLite
      Parameters:
      in - the DataInput stream to read data from in order to restore the state of this object
      Throws:
      IOException - if an I/O exception occurs
    • writeExternal

      public void writeExternal(DataOutput out) throws IOException
      Description copied from interface: ExternalizableLite
      Save the contents of this object by storing the object's state into the passed DataOutput object.
      Specified by:
      writeExternal in interface ExternalizableLite
      Parameters:
      out - the DataOutput stream to write the state of this object to
      Throws:
      IOException - if an I/O exception occurs
    • readExternal

      public void readExternal(PofReader in) throws IOException
      Description copied from interface: PortableObject
      Restore the contents of a user type instance by reading its state using the specified PofReader object.
      Specified by:
      readExternal in interface PortableObject
      Parameters:
      in - the PofReader from which to read the object's state
      Throws:
      IOException - if an I/O error occurs
    • writeExternal

      public void writeExternal(PofWriter out) throws IOException
      Description copied from interface: PortableObject
      Save the contents of a POF user type instance by writing its state using the specified PofWriter object.
      Specified by:
      writeExternal in interface PortableObject
      Parameters:
      out - the PofWriter to which to write the object's state
      Throws:
      IOException - if an I/O error occurs
    • getExtractor

      public ValueExtractor<? super T,? extends Comparable> getExtractor()
      Returns the ValueExtractor to extract value(s) to be used in comparison.
      Returns:
      the ValueExtractor to extract value(s) to be used in comparison