home *** CD-ROM | disk | FTP | other *** search
/ Ice Age Fan CD 1 / CD1_Scrat.iso / flash / data / game.swf / scripts / com / google / analytics / utils / Version.as < prev   
Encoding:
Text File  |  2012-07-04  |  4.7 KB  |  181 lines

  1. package com.google.analytics.utils
  2. {
  3.    public class Version
  4.    {
  5.       private var _revision:uint;
  6.       
  7.       private var _maxBuild:uint = 255;
  8.       
  9.       private var _maxMinor:uint = 15;
  10.       
  11.       private var _maxMajor:uint = 15;
  12.       
  13.       private var _separator:String = ".";
  14.       
  15.       private var _maxRevision:uint = 65535;
  16.       
  17.       private var _build:uint;
  18.       
  19.       private var _major:uint;
  20.       
  21.       private var _minor:uint;
  22.       
  23.       public function Version(param1:uint = 0, param2:uint = 0, param3:uint = 0, param4:uint = 0)
  24.       {
  25.          var _loc5_:Version = null;
  26.          super();
  27.          if(param1 > _maxMajor && param2 == 0 && param3 == 0 && param4 == 0)
  28.          {
  29.             _loc5_ = Version.fromNumber(param1);
  30.             param1 = _loc5_.major;
  31.             param2 = _loc5_.minor;
  32.             param3 = _loc5_.build;
  33.             param4 = _loc5_.revision;
  34.          }
  35.          this.major = param1;
  36.          this.minor = param2;
  37.          this.build = param3;
  38.          this.revision = param4;
  39.       }
  40.       
  41.       public static function fromString(param1:String = "", param2:String = ".") : Version
  42.       {
  43.          var _loc4_:Array = null;
  44.          var _loc3_:Version = new Version();
  45.          if(param1 == "" || param1 == null)
  46.          {
  47.             return _loc3_;
  48.          }
  49.          if(param1.indexOf(param2) > -1)
  50.          {
  51.             _loc4_ = param1.split(param2);
  52.             _loc3_.major = parseInt(_loc4_[0]);
  53.             _loc3_.minor = parseInt(_loc4_[1]);
  54.             _loc3_.build = parseInt(_loc4_[2]);
  55.             _loc3_.revision = parseInt(_loc4_[3]);
  56.          }
  57.          else
  58.          {
  59.             _loc3_.major = parseInt(param1);
  60.          }
  61.          return _loc3_;
  62.       }
  63.       
  64.       public static function fromNumber(param1:Number = 0) : Version
  65.       {
  66.          var _loc2_:Version = new Version();
  67.          if(isNaN(param1) || param1 == 0 || param1 < 0 || param1 == Number.MAX_VALUE || param1 == Number.POSITIVE_INFINITY || param1 == Number.NEGATIVE_INFINITY)
  68.          {
  69.             return _loc2_;
  70.          }
  71.          _loc2_.major = param1 >>> 28;
  72.          _loc2_.minor = (param1 & 0x0F000000) >>> 24;
  73.          _loc2_.build = (param1 & 0xFF0000) >>> 16;
  74.          _loc2_.revision = param1 & 0xFFFF;
  75.          return _loc2_;
  76.       }
  77.       
  78.       public function toString(param1:int = 0) : String
  79.       {
  80.          var _loc2_:Array = null;
  81.          if(param1 <= 0 || param1 > 4)
  82.          {
  83.             param1 = getFields();
  84.          }
  85.          switch(param1)
  86.          {
  87.             case 1:
  88.                _loc2_ = [major];
  89.                break;
  90.             case 2:
  91.                _loc2_ = [major,minor];
  92.                break;
  93.             case 3:
  94.                _loc2_ = [major,minor,build];
  95.                break;
  96.             case 4:
  97.             default:
  98.                _loc2_ = [major,minor,build,revision];
  99.          }
  100.          return _loc2_.join(_separator);
  101.       }
  102.       
  103.       public function set revision(param1:uint) : void
  104.       {
  105.          _revision = Math.min(param1,_maxRevision);
  106.       }
  107.       
  108.       public function get revision() : uint
  109.       {
  110.          return _revision;
  111.       }
  112.       
  113.       public function set build(param1:uint) : void
  114.       {
  115.          _build = Math.min(param1,_maxBuild);
  116.       }
  117.       
  118.       public function set minor(param1:uint) : void
  119.       {
  120.          _minor = Math.min(param1,_maxMinor);
  121.       }
  122.       
  123.       public function get build() : uint
  124.       {
  125.          return _build;
  126.       }
  127.       
  128.       public function set major(param1:uint) : void
  129.       {
  130.          _major = Math.min(param1,_maxMajor);
  131.       }
  132.       
  133.       public function get minor() : uint
  134.       {
  135.          return _minor;
  136.       }
  137.       
  138.       private function getFields() : int
  139.       {
  140.          var _loc1_:int = 4;
  141.          if(revision == 0)
  142.          {
  143.             _loc1_--;
  144.          }
  145.          if(_loc1_ == 3 && build == 0)
  146.          {
  147.             _loc1_--;
  148.          }
  149.          if(_loc1_ == 2 && minor == 0)
  150.          {
  151.             _loc1_--;
  152.          }
  153.          return _loc1_;
  154.       }
  155.       
  156.       public function valueOf() : uint
  157.       {
  158.          return major << 28 | minor << 24 | build << 16 | revision;
  159.       }
  160.       
  161.       public function get major() : uint
  162.       {
  163.          return _major;
  164.       }
  165.       
  166.       public function equals(param1:*) : Boolean
  167.       {
  168.          if(!(param1 is Version))
  169.          {
  170.             return false;
  171.          }
  172.          if(param1.major == major && param1.minor == minor && param1.build == build && param1.revision == revision)
  173.          {
  174.             return true;
  175.          }
  176.          return false;
  177.       }
  178.    }
  179. }
  180.  
  181.