public class SafeComparator<T> extends Base implements Remote.Comparator<T>, QueryMapComparator<T>, EntryAwareComparator<T>, Serializable, ExternalizableLite, PortableObject
Comparable
interface.
Use SafeComparator.INSTANCE to obtain an instance of non-delegating SafeComparator.
Base.LoggingWriter, Base.StackFrame
Modifier and Type | Field and Description |
---|---|
static SafeComparator |
INSTANCE
The trivial SafeComparator.
|
protected Comparator<? super T> |
m_comparator
The wrapped Comparator.
|
protected boolean |
m_fNullFirst
Flag specifying if nulls should be sorted as less (first) or greater
(last) than all non-null elements.
|
Constructor and Description |
---|
SafeComparator()
Default constructor (for ExternalizableLite and PortableObject).
|
SafeComparator(Comparator<? super T> comparator)
Construct a SafeComparator delegating to the specified (wrapped)
comparator.
|
SafeComparator(Comparator<? super T> comparator,
boolean fNullFirst)
Construct a SafeComparator delegating to the specified (wrapped)
comparator.
|
Modifier and Type | Method and Description |
---|---|
int |
compare(T o1,
T o2)
Compares its two arguments for order.
|
int |
compareEntries(QueryMap.Entry entry1,
QueryMap.Entry entry2)
Compare two entries using the underlying comparator.
|
static <T> int |
compareSafe(Comparator comparator,
Object o1,
Object o2)
Compares its two arguments for order.
|
static int |
compareSafe(Comparator comparator,
Object o1,
Object o2,
boolean fNullFirst)
Compares its two arguments for order.
|
boolean |
equals(Object o)
Determine if two comparators are equal.
|
Comparator<? super T> |
getComparator()
Obtain the wrapped Comparator.
|
int |
hashCode()
Return the hash code for this comparator.
|
static <T> SafeComparator<T> |
INSTANCE()
Return the trivial SafeComparator.
|
boolean |
isKeyComparator()
Specifies whether this comparator expects to compare keys or values.
|
static boolean |
isKeyComparator(Comparator comparator)
Check whether the specified comparator expects to compare keys or values.
|
boolean |
isNullFirst()
Obtain the m_fNullFirst flag.
|
void |
readExternal(DataInput in)
Restore the contents of this object by loading the object's state from
the passed DataInput object.
|
void |
readExternal(PofReader in)
Restore the contents of a user type instance by reading its state using
the specified PofReader object.
|
String |
toString()
Return a human-readable description for this Comparator.
|
void |
writeExternal(DataOutput out)
Save the contents of this object by storing the object's state into
the passed DataOutput object.
|
void |
writeExternal(PofWriter out)
Save the contents of a POF user type instance by writing its state using
the specified PofWriter object.
|
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, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, 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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
comparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
comparing, comparing, comparingDouble, comparingInt, comparingLong, nullsFirst, nullsLast, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
public static final SafeComparator INSTANCE
protected Comparator<? super T> m_comparator
protected boolean m_fNullFirst
public SafeComparator()
public SafeComparator(Comparator<? super T> comparator)
comparator
- Comparator object to delegate comparison of
non-null values (optional)public SafeComparator(Comparator<? super T> comparator, boolean fNullFirst)
comparator
- Comparator object to delegate comparison of
non-null values (optional)fNullFirst
- flag specifying if null values should be treated as
"less than" (true) or "greater than" (false) any
non-null valuepublic int compare(T o1, T o2)
Comparable
interface.compare
in interface Comparator<T>
o1
- the first object to be comparedo2
- the second object to be comparedClassCastException
- if the arguments' types prevent them from
being compared by this Comparator.public int compareEntries(QueryMap.Entry entry1, QueryMap.Entry entry2)
compareEntries
in interface QueryMapComparator<T>
entry1
- the first entry to compare values from; read-onlyentry2
- the second entry to compare values from; read-onlypublic boolean isKeyComparator()
isKeyComparator
in interface EntryAwareComparator<T>
public static boolean isKeyComparator(Comparator comparator)
comparator
- a Comparator to checkpublic Comparator<? super T> getComparator()
public boolean isNullFirst()
public static <T> int compareSafe(Comparator comparator, Object o1, Object o2)
Comparable
interface.comparator
- a comparator to use for the comparison (optional)o1
- the first object to be comparedo2
- the second object to be comparedClassCastException
- if the arguments are not Comparablepublic static int compareSafe(Comparator comparator, Object o1, Object o2, boolean fNullFirst)
fNullFirst
flag as either "less than" or "greater than"
any non-null value. Non-null values must implement the
Comparable
interface.comparator
- a comparator to use for the comparison (optional)o1
- the first object to be comparedo2
- the second object to be comparedfNullFirst
- flag specifying if null values should be treated as
"less than" (true) or "greater than" (false) any
non-null valueClassCastException
- if the arguments are not Comparablepublic String toString()
public boolean equals(Object o)
equals
in interface Comparator<T>
equals
in class Object
o
- the other comparatorpublic int hashCode()
public void readExternal(DataInput in) throws IOException
readExternal
in interface ExternalizableLite
in
- the DataInput stream to read data from in order to restore
the state of this objectIOException
- if an I/O exception occursNotActiveException
- if the object is not in its initial
state, and therefore cannot be deserialized intopublic void writeExternal(DataOutput out) throws IOException
writeExternal
in interface ExternalizableLite
out
- the DataOutput stream to write the state of this object toIOException
- if an I/O exception occurspublic void readExternal(PofReader in) throws IOException
readExternal
in interface PortableObject
in
- the PofReader from which to read the object's stateIOException
- if an I/O error occurspublic void writeExternal(PofWriter out) throws IOException
writeExternal
in interface PortableObject
out
- the PofWriter to which to write the object's stateIOException
- if an I/O error occurspublic static <T> SafeComparator<T> INSTANCE()