[ https://issues.apache.org/jira/browse/BEANUTILS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735356#action_12735356 ]
Henri Yandell commented on BEANUTILS-352: ----------------------------------------- Moved over to BeanUtils as BeanComparator lives there. At first glance seems like a fine utility method to save developer time. > Sorting the collection based on bean property in "CollectionUtils" > ------------------------------------------------------------------ > > Key: BEANUTILS-352 > URL: https://issues.apache.org/jira/browse/BEANUTILS-352 > Project: Commons BeanUtils > Issue Type: Improvement > Components: Bean-Collections > Environment: JDK 1.5 and above , Apache Collections > Reporter: Ganesh Gowtham > Priority: Minor > > Hi Folks , > Thanks for your good work done in Collection Framework . > It would be good if you add functionality to sort the collection based on > bean's property name . ( CollectionsUtils,java) > For example i have List<Person> , i should be able to sort (ascending or > desending ) based on person's salary (or) firstName (or) lastName (or) may be > the combination of above > below is the equivalent in SQL > (select * from person order by salary,firtsName,lastName asc ) > method looks like > public static <T> void sort(List<T> list, boolean isAscending,String... > beanPropertyName) { > Collection<Comparator<T>> beanComparatorCollection = new > ArrayList<Comparator<T>>(beanPropertyName.length); > for(int i =0;i<beanPropertyName.length;i++) > { > beanComparatorCollection.add(new > BeanComparator(beanPropertyName[i])); > } > Comparator<T> finalComparator = > ComparatorUtils.chainedComparator(beanComparatorCollection); > if (!isAscending) { > finalComparator = new > ReverseComparator(finalComparator); > } > Collections.sort(list, finalComparator); > } > Please let me know if you need any details , infact i able to submit patch > too . -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.