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 http://livedocs.adobe.com/flex/3/langref/mx/collections/ICollectionView.html
* @see http://livedocs.adobe.com/flex/3/langref/mx/collections/SortField.html
* @see http://livedocs.adobe.com/flex/3/langref/mx/collections/Sort.html
*
*/
public final class CollectionSortUtil
{
/**
*
* Sorts an <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();
}
}
}