The Spring Framework

org.springframework.util.comparator
Class NullSafeComparator

java.lang.Object
  extended by org.springframework.util.comparator.NullSafeComparator
All Implemented Interfaces:
Comparator

public class NullSafeComparator
extends Object
implements Comparator

A Comparator that will safely compare nulls to be lower or higher than other objects. Can decorate a given Comparator or work on Comparables.

Since:
1.2.2
Author:
Keith Donald, Juergen Hoeller
See Also:
Comparable

Field Summary
static NullSafeComparator NULLS_HIGH
          A shared default instance of this comparator, treating nulls higher than non-null objects.
static NullSafeComparator NULLS_LOW
          A shared default instance of this comparator, treating nulls lower than non-null objects.
 
Constructor Summary
NullSafeComparator(Comparator comparator, boolean nullsLow)
          Create a NullSafeComparator that sorts null based on the provided flag, decorating the given Comparator.
 
Method Summary
 int compare(Object o1, Object o2)
           
 boolean equals(Object obj)
           
 int hashCode()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

NULLS_LOW

public static final NullSafeComparator NULLS_LOW
A shared default instance of this comparator, treating nulls lower than non-null objects.


NULLS_HIGH

public static final NullSafeComparator NULLS_HIGH
A shared default instance of this comparator, treating nulls higher than non-null objects.

Constructor Detail

NullSafeComparator

public NullSafeComparator(Comparator comparator,
                          boolean nullsLow)
Create a NullSafeComparator that sorts null based on the provided flag, decorating the given Comparator.

When comparing two non-null objects, the specified Comparator will be used. The given underlying Comparator must be able to handle the elements that this Comparator will be applied to.

Parameters:
comparator - the comparator to use when comparing two non-null objects
nullsLow - whether to treat nulls lower or higher than non-null objects
Method Detail

compare

public int compare(Object o1,
                   Object o2)
Specified by:
compare in interface Comparator

equals

public boolean equals(Object obj)
Specified by:
equals in interface Comparator
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

The Spring Framework

Copyright © 2002-2007 The Spring Framework.