www.pudn.com > photoFlow_AS3_001.rar > Collection.as
package com.flashloaded.as3{
import flash.events.EventDispatcher;
import com.flashloaded.as3.Iterator;
public class Collection extends EventDispatcher{
// Constants:
public static var CLASS_REF = com.flashloaded.as3.Collection;
// Public Properties:
// Private Properties:
protected var data:Array;
// Initialization:
public function Collection(_data:Object=null) {
if(_data==null){
data=[];
}else{
data=getData(_data);
}
}
// Public Methods:
public function getLength():uint{
return data.length;
}
public function addItemAt(item:Object,index:uint):void{
checkIndex(index,data.length);
data.splice(index,0,item);
}
public function addItem(item:Object):void{
data.push(item);
}
public function addItemsAt(items:Object,index:uint):void{
checkIndex(index,data.length);
var arr=getData(items);
data.splice.apply(data,[index,0].concat(arr));
}
public function addItems(items:Object):void{
addItemsAt(items,data.length);
}
public function concat(items:Object):void{
addItems(items);
}
public function merge(newData:Object):void{
var arr:Array=getData(newData);
var l:uint=arr.length;
var startLength:uint=data.length;
for(var i:uint=0;imax || index<0){
throw new RangeError("Collection : item "+index+" not in range 0 - "+max);
}
}
// Semi-Private Methods:
// Private Methods:
}
}