home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / mx / resources / ResourceBundle.as
Encoding:
Text File  |  2008-09-02  |  3.4 KB  |  127 lines

  1. package mx.resources
  2. {
  3.    import flash.system.ApplicationDomain;
  4.    import mx.core.mx_internal;
  5.    import mx.utils.StringUtil;
  6.    
  7.    use namespace mx_internal;
  8.    
  9.    public class ResourceBundle
  10.    {
  11.       
  12.       mx_internal static const VERSION:String = "2.0.1.0";
  13.        
  14.       
  15.       private var content:Object;
  16.       
  17.       private var bundleName:String;
  18.       
  19.       public function ResourceBundle()
  20.       {
  21.          super();
  22.       }
  23.       
  24.       private static function getDefinitionByName(param1:String, param2:ApplicationDomain) : Object
  25.       {
  26.          var _loc3_:Object = null;
  27.          if(param2.hasDefinition(param1))
  28.          {
  29.             _loc3_ = param2.getDefinition(param1);
  30.          }
  31.          return _loc3_;
  32.       }
  33.       
  34.       public static function getResourceBundle(param1:String, param2:ApplicationDomain = null) : ResourceBundle
  35.       {
  36.          var _loc3_:Class = null;
  37.          var _loc4_:Object = null;
  38.          var _loc5_:ResourceBundle = null;
  39.          if(param2 == null)
  40.          {
  41.             param2 = ApplicationDomain.currentDomain;
  42.          }
  43.          _loc3_ = Class(getDefinitionByName(param1 + "_properties",param2));
  44.          if(!_loc3_)
  45.          {
  46.             _loc3_ = Class(getDefinitionByName(String(param1),param2));
  47.          }
  48.          if(_loc3_)
  49.          {
  50.             if((_loc4_ = new _loc3_()) is ResourceBundle)
  51.             {
  52.                (_loc5_ = ResourceBundle(_loc4_)).initialize(String(param1));
  53.                return _loc5_;
  54.             }
  55.          }
  56.          throw new Error("Could not find resource bundle " + param1);
  57.       }
  58.       
  59.       protected function getContent() : Object
  60.       {
  61.          return null;
  62.       }
  63.       
  64.       public function getStringArray(param1:String) : Array
  65.       {
  66.          var _loc2_:Array = null;
  67.          var _loc3_:int = 0;
  68.          var _loc4_:int = 0;
  69.          _loc2_ = getObject(param1).split(",");
  70.          _loc3_ = int(_loc2_.length);
  71.          _loc4_ = 0;
  72.          while(_loc4_ < _loc3_)
  73.          {
  74.             _loc2_[_loc4_] = StringUtil.trim(_loc2_[_loc4_]);
  75.             _loc4_++;
  76.          }
  77.          return _loc2_;
  78.       }
  79.       
  80.       public function getString(param1:String) : String
  81.       {
  82.          return String(getObject(param1));
  83.       }
  84.       
  85.       private function initialize(param1:String) : void
  86.       {
  87.          bundleName = param1;
  88.          content = getContent();
  89.          if(!content)
  90.          {
  91.             throw new Error("No content found in resource bundle " + bundleName);
  92.          }
  93.       }
  94.       
  95.       public function getObject(param1:String) : Object
  96.       {
  97.          var _loc2_:Object = null;
  98.          _loc2_ = content[param1];
  99.          if(!_loc2_)
  100.          {
  101.             throw new Error("Key " + param1 + " was not found in resource bundle " + bundleName);
  102.          }
  103.          return _loc2_;
  104.       }
  105.       
  106.       public function getBoolean(param1:String, param2:Boolean = true) : Boolean
  107.       {
  108.          var _loc3_:String = null;
  109.          _loc3_ = String(getObject(param1).toLowerCase());
  110.          if(_loc3_ == "false")
  111.          {
  112.             return false;
  113.          }
  114.          if(_loc3_ == "true")
  115.          {
  116.             return true;
  117.          }
  118.          return param2;
  119.       }
  120.       
  121.       public function getNumber(param1:String) : Number
  122.       {
  123.          return Number(getObject(param1));
  124.       }
  125.    }
  126. }
  127.