home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2003 April / PFA0304.iso / fullversioner / ImageZoom / InstData / com / utility / nativelib / unix / Environment.class (.txt)
Encoding:
Java Class File  |  2002-07-17  |  1.9 KB  |  80 lines

  1. package com.zerog.ia.download.utility.nativelib.unix;
  2.  
  3. import com.zerog.ia.download.utility.ZGProcess;
  4. import java.io.IOException;
  5. import java.util.Hashtable;
  6. import java.util.StringTokenizer;
  7.  
  8. public class Environment {
  9.    private static Environment env = null;
  10.    private static Hashtable variableTable = new Hashtable();
  11.  
  12.    private Environment() throws IOException {
  13.       this.makeVariableTable(this.getEnvironmentVariables());
  14.    }
  15.  
  16.    public static Environment getInstance() throws IOException {
  17.       if (env == null) {
  18.          env = new Environment();
  19.       }
  20.  
  21.       return env;
  22.    }
  23.  
  24.    public String getValue(String var1) {
  25.       try {
  26.          return variableTable.get(var1).toString();
  27.       } catch (Exception var3) {
  28.          return "";
  29.       }
  30.    }
  31.  
  32.    private void makeVariableTable(String var1) {
  33.       StringTokenizer var2 = new StringTokenizer(var1, "\n");
  34.  
  35.       while(var2.hasMoreTokens()) {
  36.          String var3 = var2.nextToken();
  37.          StringTokenizer var4 = new StringTokenizer(var3, "=");
  38.          String var5 = var4.nextToken();
  39.          String var6 = "";
  40.          if (var4.hasMoreTokens()) {
  41.             var6 = var4.nextToken();
  42.          }
  43.  
  44.          variableTable.put(var5, var6);
  45.          if (var5.equalsIgnoreCase("PATH")) {
  46.             break;
  47.          }
  48.       }
  49.  
  50.    }
  51.  
  52.    private String getEnvironmentVariables() throws IOException {
  53.       int var1 = 0;
  54.       ZGProcess var2 = new ZGProcess("/bin/sh -c set");
  55.       String var3 = "";
  56.       StringBuffer var4 = new StringBuffer();
  57.       if (var2 == null) {
  58.          System.err.println("ZGProcess p = null");
  59.          return null;
  60.       } else {
  61.          for(String var5 = var2.getLine(); var5 != null; var5 = var2.getLine()) {
  62.             if (!var5.trim().equals("")) {
  63.                var4.append(var5 + "\n");
  64.             } else {
  65.                ++var1;
  66.                if (var1 > 15) {
  67.                   break;
  68.                }
  69.             }
  70.  
  71.             if (var5.startsWith("PATH")) {
  72.                break;
  73.             }
  74.          }
  75.  
  76.          return var4.toString();
  77.       }
  78.    }
  79. }
  80.