Package com.tangosol.util.comparator
Class EntryComparator
java.lang.Object
com.tangosol.util.Base
com.tangosol.util.comparator.SafeComparator
com.tangosol.util.comparator.EntryComparator
- All Implemented Interfaces:
ExternalizableLite
,PortableObject
,EntryAwareComparator
,QueryMapComparator
,Remote.Comparator
,Serializable
,Comparator
Comparator implementation used to compare map entries. Depending on the
comparison style this comparator will compare entries' values, entries'
keys or, when the provided comparator is an instance of
QueryMapComparator
, the entries themselves.- Author:
- gg 2002.12.14
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Indicates that this EntryComparator should choose the comparison style based on the underying comparator type.static final int
Indicates that entries that implementQueryMap.Entry
interface will be compared using thecompareEntries()
method.static final int
Indicates that this EntryComparator should compare the entries' keys.static final int
Indicates that this EntryComparator should compare the entries' values.protected int
Comparison style utilized by this EntryComparator.Fields inherited from class com.tangosol.util.comparator.SafeComparator
INSTANCE, m_comparator, m_fNullFirst
-
Constructor Summary
ConstructorDescriptionDefault constructor (for ExternalizableLite and PortableObject).EntryComparator
(Comparator comparator) Construct an EntryComparator to compare entries' values using the provided Comparator object.EntryComparator
(Comparator comparator, int nStyle) Construct an EntryComparator to compare entries using the provided Comparator object according to the specified comparison style. -
Method Summary
Modifier and TypeMethodDescriptionint
Compares two arguments for order.boolean
Determine if two EntryComparator objects are equal.int
Obtain the comparison style value utilized by this EntryComparator.boolean
Check whether or not this EntryComparator pass entries themselves for comparison to the underlyingcompareEntries()
method.boolean
Check whether or not this EntryComparator uses entries' keys to pass for comparison to the underlying Comparator.boolean
Check whether or not this EntryComparator uses entries' values to pass for comparison to the underlying Comparator.void
Restore the contents of a user type instance by reading its state using the specified PofReader object.void
Restore the contents of this object by loading the object's state from the passed DataInput object.void
writeExternal
(PofWriter out) Save the contents of a POF user type instance by writing its state using the specified PofWriter object.void
writeExternal
(DataOutput out) Save the contents of this object by storing the object's state into the passed DataOutput object.Methods inherited from class com.tangosol.util.comparator.SafeComparator
compareEntries, compareSafe, compareSafe, ensureSafe, getComparator, hashCode, INSTANCE, isKeyComparator, isKeyComparator, isNullFirst, toString
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Comparator
thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Methods inherited from interface com.tangosol.util.function.Remote.Comparator
reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
CMP_AUTO
public static final int CMP_AUTOIndicates that this EntryComparator should choose the comparison style based on the underying comparator type.- See Also:
-
CMP_VALUE
public static final int CMP_VALUEIndicates that this EntryComparator should compare the entries' values.- See Also:
-
CMP_KEY
public static final int CMP_KEYIndicates that this EntryComparator should compare the entries' keys.- See Also:
-
CMP_ENTRY
public static final int CMP_ENTRYIndicates that entries that implementQueryMap.Entry
interface will be compared using thecompareEntries()
method.- See Also:
-
m_nStyle
protected int m_nStyleComparison style utilized by this EntryComparator. Valid values are any of the CMP_* constants.
-
-
Constructor Details
-
EntryComparator
public EntryComparator()Default constructor (for ExternalizableLite and PortableObject). -
EntryComparator
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 theKeyExtractor
, 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
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 theKeyExtractor
, 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 usednStyle
- the comparison style to use; valid values are any of the CMP_* constants
-
-
Method Details
-
compare
Compares two arguments for order. The arguments must beMap.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 interfaceComparator
- Overrides:
compare
in classSafeComparator
- Parameters:
o1
- the first object to be comparedo2
- 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
Determine if two EntryComparator objects are equal.- Specified by:
equals
in interfaceComparator
- Overrides:
equals
in classSafeComparator
- 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 underlyingcompareEntries()
method.- Returns:
- true iff entries themselves are used for comparison
-
readExternal
Restore the contents of this object by loading the object's state from the passed DataInput object.- Specified by:
readExternal
in interfaceExternalizableLite
- Overrides:
readExternal
in classSafeComparator
- 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
Save the contents of this object by storing the object's state into the passed DataOutput object.- Specified by:
writeExternal
in interfaceExternalizableLite
- Overrides:
writeExternal
in classSafeComparator
- Parameters:
out
- the DataOutput stream to write the state of this object to- Throws:
IOException
- if an I/O exception occurs
-
readExternal
Restore the contents of a user type instance by reading its state using the specified PofReader object.- Specified by:
readExternal
in interfacePortableObject
- Overrides:
readExternal
in classSafeComparator
- Parameters:
in
- the PofReader from which to read the object's state- Throws:
IOException
- if an I/O error occurs
-
writeExternal
Save the contents of a POF user type instance by writing its state using the specified PofWriter object.- Specified by:
writeExternal
in interfacePortableObject
- Overrides:
writeExternal
in classSafeComparator
- Parameters:
out
- the PofWriter to which to write the object's state- Throws:
IOException
- if an I/O error occurs
-