Flex @ Fun

flex utility class

Posted in flex by skr4u on April 1, 2009

Hi,

Even we have many native util classes available in flex but there are few API’s which we required in almost every application.
I have written a class which provides many useful API’s…

package com.aramco.iplant.utils {
import flash.xml.XMLDocument;
import flash.xml.XMLNode;

import mx.collections.ArrayCollection;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.rpc.xml.SimpleXMLDecoder;
import mx.rpc.xml.SimpleXMLEncoder;

/**

  • Util class
  • * */

public class FlxUtil {

/**

  • @public
  • @param – [Object - DataGrid, ...rest]
  • @return – [Nothing]
  • @des – API simply add necessary columns to provided datagrid reference
  • * */

public static function createDataGridColumns(dg : DataGrid, … args) : void {
var cols : Array = new Array();
var c1:DataGridColumn;
for (var i:uint = 0; i < args.length; i++){
var columnData : Array = args[i];
var columnDataField : String = columnData[0];
var columnHeaderText : String = columnData[1];
c1 = new DataGridColumn();
c1.dataField = columnDataField;
c1.headerText = columnHeaderText
cols.push(c1);
}
dg.columns = cols;
}

// search an ArrayCollection for a property on an object
public static function getItemIndexByProperty(array : ArrayCollection, property : String, value : String) : Number {
var index : Number;
for (var i:Number = 0; i < array.length; i++){
var obj:Object = Object(array[i])
if (obj[property] == value){
index = i;
}else{
index = -1;
}
}
return index;
}

/**

  • @public
  • @param – [Object - dataprovider, String - labelfield/datafield]
  • @return – Object
  • @des – API returns sorted data as Object
  • * */

public static function sort(data : Object, field : String) : Object {
var sf : SortField = new SortField(field, true, false, null)
var sort:Sort = new Sort();
sort.fields = [sf];
data.sort = sort;
data.refresh();
return data;
}

/**

  • @public
  • @param – [String - you want to search in, String - you want to search, String - you want to replace with]
  • @return – String
  • @des – API simply search and replace with provided args
  • * */

public static function searchAndReplace(holder : String, searchfor : String, replacement : String) : String {
var temparray:Array = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}

/**

  • @public
  • @param – [XML]
  • @return – ArrayCollection
  • @des – API will convert any XML object to ArrayCollection and returns same
  • * */

public static function xmlToArrayCollection(xml : XML) : ArrayCollection {

var xmlDoc : XMLDocument = new XMLDocument(xml.toString());
var decoder : SimpleXMLDecoder = new SimpleXMLDecoder(true);
var resultObj : Object = decoder.decodeXML(xmlDoc);
var ac : ArrayCollection = new ArrayCollection(resultObj.root.list.source.item as Array);
return ac;
}

/**

  • @public
  • @param – [Object]
  • @return – XML
  • @des – API will convert any proxy object to XML and returns same
  • * */

public static function objectToXML(obj : Object) : XML {
var qName : QName = new QName(“root”);
var xmlDocument : XMLDocument = new XMLDocument();
var simpleXMLEncoder : SimpleXMLEncoder = new SimpleXMLEncoder(xmlDocument);
var xmlNode : XMLNode = simpleXMLEncoder.encodeValue(obj, qName, xmlDocument);
var xml : XML = new XML(xmlDocument.toString());
return xml;
}

/**

  • @public
  • @param – [Object]
  • @return – ArrayCollection
  • @des – API will convert any Object to ArrayCollection and returns same
  • * */

public static function objectToArrayCollection(obj : Object) : ArrayCollection {
var ac : ArrayCollection = new ArrayCollection(obj as Array);
return ac;
}

/**

  • @public
  • @param – [ArrayCollection]
  • @return – XML
  • @des – API will convert any ArrayCollection object to XML and returns same
  • * */

public static function arrayCollectionToXML(ac : ArrayCollection) : XML{
var xml : XML = objectToXML(ac);
return xml;
}

/**

  • @public
  • @param – [String]
  • @return – [String]
  • @des – remove all white space for a string and returns same
  • * */

public static function trimWhiteSpace(str : String) : String {
var pattern:RegExp = /[\s]+/g;
return str.replace(pattern, “”);
}
/**

  • @public
  • @param – [String]
  • @return – [String]
  • @des – remove all \n for a string and returns same
  • * */

public static function trimNewLines(str : String) : String {
var pattern:RegExp = /[\r\n]/g;
return str.replace(pattern, “”);
}

/**

  • @public
  • @param – [String]
  • @return – [Boolean]
  • @des – API returns true if string contains alpha numeric value else false
  • */

public function containsAlphaNumeric(str:String) : Boolean {
var pattern:RegExp = /[^a-zA-Z0-9]/;
return str.search(pattern) != 0;
}
}
}

Advertisement
Tagged with:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.