org.rivetlogic.scar.comparator
Class MapKeyComparator

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

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

Comparator that uses Reflection to compare by values of a key in a Java map

Author:
Rivet Logic Corporation

Constructor Summary
MapKeyComparator(java.lang.String mapName, java.lang.Object sortBy, boolean ascending)
           
 
Method Summary
 int compare(java.lang.Object a, java.lang.Object b)
           
 java.lang.String getMapName()
           
 java.lang.Object 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 setMapName(java.lang.String mapName)
           
 void setSortBy(java.lang.Object 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

MapKeyComparator

public MapKeyComparator(java.lang.String mapName,
                        java.lang.Object 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.Object getSortBy()

setSortBy

public void setSortBy(java.lang.Object sortBy)

isAscending

public boolean isAscending()

setAscending

public void setAscending(boolean ascending)

getMapName

public java.lang.String getMapName()

setMapName

public void setMapName(java.lang.String mapName)


Copyright 2008, Rivet Logic Corporation.