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: 
	 
	} 
}