home *** CD-ROM | disk | FTP | other *** search
/ Popular Software (Premium Edition) / mycd.iso / INTERNET / NETSCAP4.06 / CP32E406.EXE / nav40.z / ldap10.jar / netscape / ldap / util / GetOpt.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-08-13  |  1.9 KB  |  69 lines

  1. package netscape.ldap.util;
  2.  
  3. import java.util.Hashtable;
  4. import java.util.Vector;
  5.  
  6. public class GetOpt {
  7.    private int m_pos;
  8.    private String optarg;
  9.    private String m_Control;
  10.    private Vector m_Option = new Vector();
  11.    private Vector m_ParameterList;
  12.    private Hashtable m_OptionHashTable;
  13.    private Hashtable m_OptionParamHashTable;
  14.  
  15.    public GetOpt(String var1, String[] var2) {
  16.       this.m_Control = var1;
  17.       this.m_OptionHashTable = new Hashtable();
  18.       this.m_OptionParamHashTable = new Hashtable();
  19.       this.m_ParameterList = new Vector();
  20.  
  21.       for(int var3 = 0; var3 < var2.length; ++var3) {
  22.          String var4 = var2[var3];
  23.          if (var4.length() > 0) {
  24.             if (var4.charAt(0) != '-' && var4.charAt(0) != '/') {
  25.                this.m_ParameterList.addElement(var2[var3]);
  26.             } else if (var4.length() > 1) {
  27.                int var5 = this.m_Control.indexOf(var4.charAt(1));
  28.                if (var5 == -1) {
  29.                   System.err.println("Invalid usage. No option -" + var4.charAt(1));
  30.                } else {
  31.                   char[] var6 = new char[]{var4.charAt(1)};
  32.                   String var7 = new String(var6);
  33.                   this.m_OptionHashTable.put(var7, "1");
  34.                   if (this.m_Control.length() > var5 + 1 && this.m_Control.charAt(var5 + 1) == ':') {
  35.                      ++var3;
  36.                      this.m_OptionParamHashTable.put(var7, var2[var3]);
  37.                   }
  38.                }
  39.             } else {
  40.                System.err.println("Invalid usage.");
  41.             }
  42.          }
  43.       }
  44.  
  45.    }
  46.  
  47.    public boolean hasOption(char var1) {
  48.       boolean var2 = false;
  49.       char[] var3 = new char[]{var1};
  50.       String var4 = new String(var3);
  51.       if (this.m_OptionHashTable.get(var4) == "1") {
  52.          var2 = true;
  53.       }
  54.  
  55.       return var2;
  56.    }
  57.  
  58.    public String getOptionParam(char var1) {
  59.       char[] var2 = new char[]{var1};
  60.       String var3 = new String(var2);
  61.       String var4 = (String)this.m_OptionParamHashTable.get(var3);
  62.       return var4;
  63.    }
  64.  
  65.    public Vector getParameters() {
  66.       return this.m_ParameterList;
  67.    }
  68. }
  69.