package com.guru.display.externalLoader
{
	import flash.display.BitmapData;
	/**
	 * ...
	 * @author Eddy Lee
	 */
	public class PhotoCache
	{
		private static var sInstance:PhotoCache;
		
		public static function getInstance():PhotoCache
		{
			if (sInstance == null)
				sInstance = new PhotoCache();
				
			return sInstance;
		}
		
		private var mCache_array:Array;
		
		public function PhotoCache() 
		{
			mCache_array = new Array();
		}
		
		public function clearCache():void
		{
			for (var i in mCache_array)
			{
				var bmpData:BitmapData = mCache_array[i];
				bmpData.dispose();
				delete mCache_array[i];
				mCache_array[i] = null;
			}
		}
		
		public function hasBMPData(pIndex_str:String):Boolean
		{
			if (mCache_array[pIndex_str] is BitmapData)
			{
				return true;
			}
			return false;
		}
		
		public function getBMPData(pIndex_str:String):BitmapData
		{
			return BitmapData(mCache_array[pIndex_str]);
		}
		
		public function addBitmapData(pIndex_str:String, pBMPData:BitmapData):void
		{
			mCache_array[pIndex_str] = pBMPData;
		}
		
	}

}