Last active
August 29, 2015 14:09
-
-
Save swapnilshrikhande/4fcbdcb2017d2d03b00a to your computer and use it in GitHub Desktop.
Generic SObject Sort Method
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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