Skip to content

Instantly share code, notes, and snippets.

@swapnilshrikhande
Last active August 29, 2015 14:09
Show Gist options
  • Select an option

  • Save swapnilshrikhande/4fcbdcb2017d2d03b00a to your computer and use it in GitHub Desktop.

Select an option

Save swapnilshrikhande/4fcbdcb2017d2d03b00a to your computer and use it in GitHub Desktop.
Generic SObject Sort Method
public static List<Sobject> sort(List<Sobject> sourceList,String fieldName){
List<Sobject> sortedList = new List<Sobject>();
List<SObjectWrapper> wrapperList = new List<SObjectWrapper>();
for(Sobject object : sourceList){
SObjectWrapper wrapperObject = new SObjectWrapper(object,fieldName);
wrapperList.add(wrapperObject);
}
wrapperList.sort();
for(SObjectWrapper wrapperObject : wrapperList){
sortedList.add(wrapperObject.sObjectRef);
}
return sortedList;
}
global class SObjectWrapper implements Comparable {
public String fieldName;
public SObject sObjectRef {get;private set;}
// Constructor
public OpportunityWrapper(sObjectRef,fieldNamep) {
this.fieldName = fieldNamep;
}
// Compare opportunities based on the opportunity amount.
global Integer compareTo(Object compareTo) {
// Cast argument to OpportunityWrapper
SObject compareToObject = (SObject)compareTo;
Integer returnValue = 0;
String targetValue = (String)compareToObject.get(fieldName);
return targetValue.compareTo((String)sObjectRef.get(fieldName)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment