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 | INSTANCEThe trivial SafeComparator. | 
| protected Comparator<? super T> | m_comparatorThe wrapped Comparator. | 
| protected boolean | m_fNullFirstFlag 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, 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, 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()