package com.idega.util;
import java.util.Comparator;
import java.beans.MethodDescriptor;
import java.lang.reflect.Method;
import com.idega.presentation.IWContext;
import com.idega.idegaweb.IWProperty;
/**
* Title: idegaclasses
* Description:
* Copyright: Copyright (c) 2001
* Company: idega
* @author <a href="tryggvi@idega.is">Tryggvi Larusson</a>
* @version 1.0
*/
public class Comparators{
private Comparators() {
}
/**
* @todo Modify so it sorts by locale
* Compares IWProperty Objects
*/
public static Comparator getMethodDescriptionComparator(IWContext iwc){
return new MethodDescriptionComparator(iwc);
}
public static Comparator getMethodComparator(){
return new MethodComparator();
}
public static Comparator getMethodDescriptorComparator(){
return new MethodDescriptorComparator();
}
private static class MethodDescriptorComparator implements Comparator{
public int compare(Object parm1, Object parm2) {
MethodDescriptor methodDesc1 = (MethodDescriptor)parm1;
MethodDescriptor methodDesc2 = (MethodDescriptor)parm2;
String s1 = methodDesc1.getMethod().getName();
String s2 = methodDesc2.getMethod().getName();
return s1.compareTo(s2);
}
}
private static class MethodDescriptionComparator implements Comparator{
private MethodDescriptionComparator(IWContext iwc){
}
public int compare(Object parm1, Object parm2) {
IWProperty methodDesc1 = (IWProperty)parm1;
IWProperty methodDesc2 = (IWProperty)parm2;
String s1 = methodDesc1.getValue();
String s2 = methodDesc2.getValue();
return s1.compareTo(s2);
}
}
private static class MethodComparator implements Comparator{
private MethodComparator(){
}
public int compare(Object parm1, Object parm2) {
Method method1 = (Method)parm1;
Method method2 = (Method)parm2;
String s1 = method1.getName();
String s2 = method2.getName();
return s1.compareTo(s2);
}
}
}