org.rivetlogic.scar.comparator
Class FieldComparator

java.lang.Object
  extended by org.rivetlogic.scar.comparator.FieldComparator
All Implemented Interfaces:
java.util.Comparator<java.lang.Object>

public class FieldComparator
extends java.lang.Object
implements java.util.Comparator<java.lang.Object>

Comparator that uses Reflection to compare by field names. The name of the field is passed as a Java String.

Author:
Rivet Logic Corporation

Constructor Summary
FieldComparator(java.lang.String sortBy, boolean ascending)
           
 
Method Summary
 int compare(java.lang.Object a, java.lang.Object b)
           
 java.lang.String getSortBy()
           
protected static java.lang.reflect.Field getSortingField(java.lang.Object a, java.lang.String fieldName)
           
protected static java.lang.reflect.Method getSortingMethod(java.lang.Object a, java.lang.String fieldName)
           
protected  java.lang.Object getSortingObject(java.lang.Object obj)
           
 boolean isAscending()
           
 void setAscending(boolean ascending)
           
 void setSortBy(java.lang.String sortBy)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Comparator
equals
 

Constructor Detail

FieldComparator

public FieldComparator(java.lang.String sortBy,
                       boolean ascending)
Method Detail

compare

public int compare(java.lang.Object a,
                   java.lang.Object b)
Specified by:
compare in interface java.util.Comparator<java.lang.Object>

getSortingObject

protected java.lang.Object getSortingObject(java.lang.Object obj)

getSortingField

protected static java.lang.reflect.Field getSortingField(java.lang.Object a,
                                                         java.lang.String fieldName)
                                                  throws java.lang.SecurityException,
                                                         java.lang.NoSuchFieldException
Throws:
java.lang.SecurityException
java.lang.NoSuchFieldException

getSortingMethod

protected static java.lang.reflect.Method getSortingMethod(java.lang.Object a,
                                                           java.lang.String fieldName)
                                                    throws java.lang.SecurityException,
                                                           java.lang.NoSuchMethodException
Throws:
java.lang.SecurityException
java.lang.NoSuchMethodException

getSortBy

public java.lang.String getSortBy()

setSortBy

public void setSortBy(java.lang.String sortBy)

isAscending

public boolean isAscending()

setAscending

public void setAscending(boolean ascending)


Copyright 2008, Rivet Logic Corporation.