/* * @author Galaburda Oleg a_[w] * http://actualwave.com/ * */ import aw.template.xml.XMLAccessor; import aw.template.xml.accessor.XMLAccessorSettings; class aw.template.xml.accessor.XMLAccessorList extends Object{ private var __list:Array; private var __settings:XMLAccessorSettings; function XMLAccessorList(a:Array, s:XMLAccessorSettings){ super(); __list = a; __settings = s; } public function toString():String{ return String(this.__list); } public function valueOf():Array{ return this.__list; } public function getList():Array{ return this.__list; } public function getLength():Number{ return this.__list.length; } public function __resolve(name:String):Object{ var ret:Object; if(isNaN(name)){ var node:XMLNode = this.__list[0]; if(node instanceof XMLNode && node.nodeType==1){ var m:Function = this.__settings.method; m.settings = this.__settings; node.__resolve = m; ret = node[name]; } }else ret = this.__list[Number(name)]; if(ret instanceof XMLNode && ret.nodeType==1){ var m:Function = this.__settings.method; m.settings = this.__settings; ret.__resolve = m; } return ret; } }