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.
|
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, 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, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, 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, waitclone, finalize, getClass, notify, notifyAll, wait, wait, waitcomparing, comparing, comparingDouble, comparingInt, comparingLong, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongcomparing, comparing, comparingDouble, comparingInt, comparingLong, nullsFirst, nullsLast, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongpublic 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 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 Objecto - the other comparatorpublic int hashCode()
public void readExternal(DataInput in) throws IOException
readExternal in interface ExternalizableLitein - 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 ExternalizableLiteout - 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 PortableObjectin - 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 PortableObjectout - the PofWriter to which to write the object's stateIOException - if an I/O error occurspublic static <T> SafeComparator<T> INSTANCE()