Class EntryComparator

    • Field Detail

      • CMP_AUTO

        public static final int CMP_AUTO
        Indicates that this EntryComparator should choose the comparison style based on the underying comparator type.
        See Also:
        Constant Field Values
      • CMP_VALUE

        public static final int CMP_VALUE
        Indicates that this EntryComparator should compare the entries' values.
        See Also:
        Constant Field Values
      • CMP_KEY

        public static final int CMP_KEY
        Indicates that this EntryComparator should compare the entries' keys.
        See Also:
        Constant Field Values
      • m_nStyle

        protected int m_nStyle
        Comparison style utilized by this EntryComparator. Valid values are any of the CMP_* constants.
    • Constructor Detail

      • EntryComparator

        public EntryComparator()
        Default constructor (for ExternalizableLite and PortableObject).
      • EntryComparator

        public EntryComparator​(Comparator comparator)
        Construct an EntryComparator to compare entries' values using the provided Comparator object. The EntryComparator will choose the comparison style based on the specified comparator type: if the comparator is an instance of the KeyExtractor, the CMP_KEY style will be assumed; otherwise, the CMP_VALUE style is used.
        Parameters:
        comparator - the comparator to use; if not specified the "natural" comparison of entries' values is used
      • EntryComparator

        public EntryComparator​(Comparator comparator,
                               int nStyle)
        Construct an EntryComparator to compare entries using the provided Comparator object according to the specified comparison style. If the style is CMP_AUTO then the comparator type is checked: if the comparator is an instance of the KeyExtractor, the CMP_KEY style will be assumed; otherwise, the CMP_VALUE style is used.
        Parameters:
        comparator - the comparator to use; if not specified the "natural" comparison is used
        nStyle - the comparison style to use; valid values are any of the CMP_* constants
    • Method Detail

      • compare

        public int compare​(Object o1,
                           Object o2)
        Compares two arguments for order. The arguments must be Map.Entry objects. Depending on the comparison style, this method will pass either the entries' values, keys or the entries themselves to the underlying Comparator.
        Specified by:
        compare in interface Comparator
        Overrides:
        compare in class SafeComparator
        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
      • equals

        public boolean equals​(Object o)
        Determine if two EntryComparator objects are equal.
        Specified by:
        equals in interface Comparator
        Overrides:
        equals in class SafeComparator
        Parameters:
        o - the other object
        Returns:
        true if the passed object is equal to this
      • getComparisonStyle

        public int getComparisonStyle()
        Obtain the comparison style value utilized by this EntryComparator. The returned value should be one of the CMP_* constants.
        Returns:
        the comparison style value
      • isCompareValue

        public boolean isCompareValue()
        Check whether or not this EntryComparator uses entries' values to pass for comparison to the underlying Comparator.
        Returns:
        true iff entries' values are used for comparison
      • isCompareKey

        public boolean isCompareKey()
        Check whether or not this EntryComparator uses entries' keys to pass for comparison to the underlying Comparator.
        Returns:
        true iff entries' keys are used for comparison
      • isCompareEntry

        public boolean isCompareEntry()
        Check whether or not this EntryComparator pass entries themselves for comparison to the underlying compareEntries() method.
        Returns:
        true iff entries themselves are used for comparison
      • readExternal

        public void readExternal​(DataInput in)
                          throws IOException
        Restore the contents of this object by loading the object's state from the passed DataInput object.
        Specified by:
        readExternal in interface ExternalizableLite
        Overrides:
        readExternal in class SafeComparator
        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
        NotActiveException - if the object is not in its initial state, and therefore cannot be deserialized into