package
{
import flash.utils.describeType;
/**
* ...
* @author ongsh
*/
public class BeanUtil
{
/**
* 复制属性,适用于简单的valueObject
*
* @param fromObj 源
* @param toObj 待赋值对象
*/
public static function copyProperties(fromObj:Object,toObj:Object):void
{
var xml:XML = describeType(toObj);
var propertyNames:Array = [];
for each(var variableXML:XML in xml.variable)
{
propertyNames.push(variableXML.@name)
}
for each(var accessorXML:XML in xml.accessor)
{
if(accessorXML.@access=="readwrite" || accessorXML.@access == "readonly")
{
propertyNames.push(accessorXML.@name)
}
}
for each(var prop:String in propertyNames)
{
try{
if(fromObj.hasOwnProperty(prop))
{
toObj[prop] = fromObj[prop];
}
}catch(e:Error){}
}
}
}
}