home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Esportes / CrossingCup.swf / scripts / __Packages / com / bourre / utils / ClassUtils.as
Text File  |  2007-12-11  |  2KB  |  70 lines

  1. class com.bourre.utils.ClassUtils
  2. {
  3.    function ClassUtils()
  4.    {
  5.    }
  6.    static function getClassName(o)
  7.    {
  8.       var _loc1_ = com.bourre.utils.ClassUtils.getFullyQualifiedClassName(o);
  9.       return _loc1_.substr(_loc1_.lastIndexOf(".") + 1);
  10.    }
  11.    static function inheritsFromClass(o, clazz)
  12.    {
  13.       var _loc1_ = typeof o != "function" ? o.__proto__ : Function(o).prototype;
  14.       while(_loc1_ = _loc1_.__proto__)
  15.       {
  16.          if(clazz.prototype === _loc1_)
  17.          {
  18.             return true;
  19.          }
  20.       }
  21.       return false;
  22.    }
  23.    static function implementsInterface(o, interfaze)
  24.    {
  25.       if(com.bourre.utils.ClassUtils.inheritsFromClass(o,interfaze))
  26.       {
  27.          return false;
  28.       }
  29.       return o instanceof interfaze;
  30.    }
  31.    static function getFullyQualifiedClassName(o)
  32.    {
  33.       o = typeof o != "function" ? o.__proto__ : Function(o).prototype;
  34.       return !com.bourre.utils.ClassUtils._containsKey(o) ? com.bourre.utils.ClassUtils._buildPath("",_global,o) : com.bourre.utils.ClassUtils._getFullyQualifiedClassName(o);
  35.    }
  36.    static function _buildPath(s, pack, o)
  37.    {
  38.       for(var _loc5_ in pack)
  39.       {
  40.          var _loc1_ = pack[_loc5_];
  41.          if(_loc1_.__constructor__ === Object)
  42.          {
  43.             _loc5_ = com.bourre.utils.ClassUtils._buildPath(s + _loc5_ + ".",_loc1_,o);
  44.             if(_loc5_)
  45.             {
  46.                return _loc5_;
  47.             }
  48.          }
  49.          else if(_loc1_.prototype === o)
  50.          {
  51.             com.bourre.utils.ClassUtils._setFullyQualifiedClassName(o,s + _loc5_);
  52.             return s + _loc5_;
  53.          }
  54.       }
  55.    }
  56.    static function _containsKey(o)
  57.    {
  58.       return Boolean(o.__fullyQualifiedClassName.length > 0);
  59.    }
  60.    static function _getFullyQualifiedClassName(o)
  61.    {
  62.       return o.__fullyQualifiedClassName;
  63.    }
  64.    static function _setFullyQualifiedClassName(o, s)
  65.    {
  66.       o.__fullyQualifiedClassName = s;
  67.       _global.ASSetPropFlags(o,["__fullyQualifiedClassName"],7,1);
  68.    }
  69. }
  70.