Save This Page
Home » displaytag-1.1.1-src » org » displaytag » test » [javadoc | source]
    1   package org.displaytag.test;
    2   
    3   import java.util.Comparator;
    4   
    5   import org.apache.commons.beanutils.ConvertUtils;
    6   
    7   
    8   /**
    9    * Sorts 2 numbers, converted from objects using beanutils Converters.
   10    * @author rapruitt
   11    * @author Fabrizio Giustina
   12    * @version $Revision$ ($Author$)
   13    */
   14   public class NumberComparator implements Comparator
   15   {
   16   
   17       /**
   18        * @see Comparator#compare(Object, Object)
   19        */
   20       public int compare(Object obj1, Object obj2)
   21       {
   22           double dbl1 = 0;
   23           if (obj1 instanceof Number)
   24           {
   25               dbl1 = ((Number) obj1).doubleValue();
   26           }
   27           else if (obj1 != null)
   28           {
   29               dbl1 = ((Number) ConvertUtils.convert(obj1.toString(), Number.class)).doubleValue();
   30           }
   31   
   32           double dbl2 = 0;
   33           if (obj2 instanceof Number)
   34           {
   35               dbl2 = ((Number) obj2).doubleValue();
   36           }
   37           else if (obj1 != null)
   38           {
   39               dbl2 = ((Number) ConvertUtils.convert(obj2.toString(), Number.class)).doubleValue();
   40           }
   41   
   42           return new Double(dbl1).compareTo(new Double(dbl2));
   43       }
   44   }

Save This Page
Home » displaytag-1.1.1-src » org » displaytag » test » [javadoc | source]