home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 August / CA08.iso / Multimedija / shufflr.air / ShufflrClient.swf / scripts / mx / messaging / config / ConfigMap.as next >
Encoding:
Text File  |  2010-06-23  |  2.7 KB  |  106 lines

  1. package mx.messaging.config
  2. {
  3.    import flash.utils.Proxy;
  4.    import flash.utils.flash_proxy;
  5.    import mx.utils.object_proxy;
  6.    
  7.    use namespace flash_proxy;
  8.    use namespace object_proxy;
  9.    
  10.    public dynamic class ConfigMap extends Proxy
  11.    {
  12.       private var _item:Object;
  13.       
  14.       object_proxy var propertyList:Array;
  15.       
  16.       public function ConfigMap(param1:Object = null)
  17.       {
  18.          super();
  19.          if(!param1)
  20.          {
  21.             param1 = {};
  22.          }
  23.          _item = param1;
  24.          object_proxy::propertyList = [];
  25.       }
  26.       
  27.       override flash_proxy function deleteProperty(param1:*) : Boolean
  28.       {
  29.          var _loc2_:Object = _item[param1];
  30.          var _loc3_:* = delete _item[param1];
  31.          var _loc4_:int = -1;
  32.          var _loc5_:int = 0;
  33.          while(_loc5_ < object_proxy::propertyList.length)
  34.          {
  35.             if(object_proxy::propertyList[_loc5_] == param1)
  36.             {
  37.                _loc4_ = _loc5_;
  38.                break;
  39.             }
  40.             _loc5_++;
  41.          }
  42.          if(_loc4_ > -1)
  43.          {
  44.             object_proxy::propertyList.splice(_loc4_,1);
  45.          }
  46.          return _loc3_;
  47.       }
  48.       
  49.       override flash_proxy function nextName(param1:int) : String
  50.       {
  51.          return object_proxy::propertyList[param1 - 1];
  52.       }
  53.       
  54.       override flash_proxy function getProperty(param1:*) : *
  55.       {
  56.          var _loc2_:Object = null;
  57.          return _item[param1];
  58.       }
  59.       
  60.       override flash_proxy function hasProperty(param1:*) : Boolean
  61.       {
  62.          return param1 in _item;
  63.       }
  64.       
  65.       override flash_proxy function nextNameIndex(param1:int) : int
  66.       {
  67.          if(param1 < object_proxy::propertyList.length)
  68.          {
  69.             return param1 + 1;
  70.          }
  71.          return 0;
  72.       }
  73.       
  74.       override flash_proxy function setProperty(param1:*, param2:*) : void
  75.       {
  76.          var _loc4_:int = 0;
  77.          var _loc3_:* = _item[param1];
  78.          if(_loc3_ !== param2)
  79.          {
  80.             _item[param1] = param2;
  81.             _loc4_ = 0;
  82.             while(_loc4_ < object_proxy::propertyList.length)
  83.             {
  84.                if(object_proxy::propertyList[_loc4_] == param1)
  85.                {
  86.                   return;
  87.                }
  88.                _loc4_++;
  89.             }
  90.             object_proxy::propertyList.push(param1);
  91.          }
  92.       }
  93.       
  94.       override flash_proxy function callProperty(param1:*, ... rest) : *
  95.       {
  96.          return _item[param1].apply(_item,rest);
  97.       }
  98.       
  99.       override flash_proxy function nextValue(param1:int) : *
  100.       {
  101.          return _item[object_proxy::propertyList[param1 - 1]];
  102.       }
  103.    }
  104. }
  105.  
  106.