home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2003 April / PFA0304.iso / fullversioner / ImageZoom / InstData / com / shared / PlatformList.class (.txt) < prev   
Encoding:
Java Class File  |  2002-07-17  |  2.3 KB  |  72 lines

  1. package com.zerog.ia.download.shared;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Locale;
  5. import java.util.StringTokenizer;
  6. import java.util.Vector;
  7.  
  8. public class PlatformList {
  9.    private Vector platformList = new Vector(4, 1);
  10.    private Platform runningOnPlatform;
  11.    private boolean platformNotFound = true;
  12.  
  13.    public void add(Platform var1) {
  14.       this.platformList.addElement(var1);
  15.    }
  16.  
  17.    public synchronized void computeRunningOnPlatform() {
  18.       if (this.platformNotFound) {
  19.          String var1 = System.getProperty("os.name");
  20.          System.err.println("currentOS = " + var1);
  21.          this.runningOnPlatform = null;
  22.          Enumeration var2 = this.platformList.elements();
  23.  
  24.          while(this.platformNotFound && var2.hasMoreElements()) {
  25.             Platform var3 = (Platform)var2.nextElement();
  26.             System.err.println("runOnPlatformsContainingString = " + var3.runOnPlatformsContainingString);
  27.             StringTokenizer var4 = new StringTokenizer(var3.runOnPlatformsContainingString, ",");
  28.  
  29.             while(this.platformNotFound && var4.hasMoreTokens()) {
  30.                String var5 = var4.nextToken();
  31.                System.err.println("curPlatformSubstring = " + var5);
  32.                if (var1.toUpperCase(Locale.ENGLISH).trim().indexOf(var5.toUpperCase(Locale.ENGLISH).trim()) >= 0) {
  33.                   if (var3.platformName.trim().toUpperCase(Locale.ENGLISH).indexOf("MAC") >= 0 && var3.platformName.trim().toUpperCase(Locale.ENGLISH).indexOf("X") == -1 && var1.trim().toUpperCase(Locale.ENGLISH).indexOf("MAC OS X") >= 0) {
  34.                      this.runningOnPlatform = null;
  35.                      this.platformNotFound = true;
  36.                   } else {
  37.                      System.err.println("* Found: Running on platform: " + var3.getPlatformName());
  38.                      this.runningOnPlatform = var3;
  39.                      this.platformNotFound = false;
  40.                   }
  41.                }
  42.             }
  43.          }
  44.  
  45.          if (this.platformNotFound) {
  46.             Enumeration var6 = this.platformList.elements();
  47.  
  48.             while(var6.hasMoreElements()) {
  49.                Platform var7 = (Platform)var6.nextElement();
  50.                if (var7.isPureJava) {
  51.                   this.runningOnPlatform = var7;
  52.                }
  53.             }
  54.          }
  55.       }
  56.  
  57.       this.platformNotFound = false;
  58.    }
  59.  
  60.    public synchronized Vector getPlatformList() {
  61.       return this.platformList;
  62.    }
  63.  
  64.    public synchronized Platform getRunningOnPlatform() {
  65.       if (this.runningOnPlatform == null) {
  66.          this.computeRunningOnPlatform();
  67.       }
  68.  
  69.       return this.runningOnPlatform;
  70.    }
  71. }
  72.