package com.ericfeminella.collections
{
import mx.collections.ICollectionView;
import mx.collections.SortField;
import mx.collections.Sort;
/**
*
* Utility class which provides an all static API for sorting an
* <code>ICollectionView</code>.
*
* @see mx.collections.ICollectionView;
* @see mx.collections.SortField
* @see mx.collections.Sort
*
*/
public final class CollectionSortUtil
{
/**
*
* Sorts a concrete <code>ICollectionView</code> implementation,
* such as <code>ArrayCollection</code>, based on a specified key.
*
* @param property in which to base the sort
* @param collection of items in which the sort is to be applied
* @param specifies if a caseInsensitive sort is to be applied
* @param specifies if a descending sort is to be applied
* @param specifies if a numeric sort is to be applied
*
*/
public static function sortOn(key:String,
collection:ICollectionView,
caseInsensitive:Boolean = false,
descending:Boolean = false,
numeric:Boolean = false) : void
{
var sort:Sort = new Sort();
sort.fields = [new SortField(key, caseInsensitive, descending, numeric)];
collection.sort = sort;
collection.refresh();
}
}
}