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

  1. package netscape.ldap;
  2.  
  3. public class LDAPAttributeSchema extends LDAPSchemaElement {
  4.    protected int syntax = 0;
  5.    private boolean single = false;
  6.  
  7.    protected LDAPAttributeSchema() {
  8.    }
  9.  
  10.    public LDAPAttributeSchema(String var1, String var2, String var3, int var4, boolean var5) {
  11.       super(var1, var2, var3);
  12.       super.attrName = "attributetypes";
  13.       this.syntax = var4;
  14.       this.single = var5;
  15.    }
  16.  
  17.    public LDAPAttributeSchema(String var1) {
  18.       super.attrName = "attributetypes";
  19.       var1.trim();
  20.       int var2 = var1.length();
  21.       var1 = var1.substring(2, var2 - 1);
  22.       var2 = var1.length();
  23.       int var3 = var1.indexOf(32);
  24.       super.oid = var1.substring(0, var3);
  25.       char[] var4 = new char[var2];
  26.       var1 = var1.substring(var3 + 1, var2);
  27.       var2 = var1.length();
  28.       var1.getChars(0, var2, var4, 0);
  29.       var3 = 0;
  30.       var2 = var4.length;
  31.  
  32.       while(var3 < var2) {
  33.          String var5;
  34.          for(var5 = ""; var4[var3] == ' '; ++var3) {
  35.          }
  36.  
  37.          int var7;
  38.          for(var7 = var3 + 1; var7 < var2 && var4[var7] != ' '; ++var7) {
  39.          }
  40.  
  41.          if (var3 < var2 && var7 < var2) {
  42.             var5 = new String(var4, var3, var7 - var3);
  43.             var3 = var7;
  44.             if (var5.equalsIgnoreCase("SINGLE-VALUE")) {
  45.                this.single = true;
  46.                continue;
  47.             }
  48.          } else {
  49.             var3 = var2;
  50.          }
  51.  
  52.          while(var3 < var2 && var4[var3] != '\'') {
  53.             ++var3;
  54.          }
  55.  
  56.          for(var7 = var3 + 1; var7 < var2 && var4[var7] != '\''; ++var7) {
  57.          }
  58.  
  59.          if (var3 < var7 && var7 < var2) {
  60.             String var6 = new String(var4, var3 + 1, var7 - var3 - 1);
  61.             var3 = var7 + 1;
  62.             if (var5.equalsIgnoreCase("NAME")) {
  63.                super.name = var6;
  64.             } else if (var5.equalsIgnoreCase("DESC")) {
  65.                super.description = var6;
  66.             } else if (var5.equalsIgnoreCase("SYNTAX")) {
  67.                this.syntax = this.syntaxCheck(var6);
  68.             }
  69.          }
  70.       }
  71.  
  72.    }
  73.  
  74.    public int getSyntax() {
  75.       return this.syntax;
  76.    }
  77.  
  78.    public boolean isSingleValued() {
  79.       return this.single;
  80.    }
  81.  
  82.    protected String internalSyntaxToString() {
  83.       String var1;
  84.       if (this.syntax == 1) {
  85.          var1 = "1.3.6.1.4.1.1466.115.121.1.15";
  86.       } else if (this.syntax == 2) {
  87.          var1 = "1.3.6.1.4.1.1466.115.121.1.5";
  88.       } else if (this.syntax == 4) {
  89.          var1 = "1.3.6.1.4.1.1466.115.121.1.26";
  90.       } else if (this.syntax == 3) {
  91.          var1 = "1.3.6.1.4.1.1466.115.121.1.50";
  92.       } else if (this.syntax == 5) {
  93.          var1 = "1.3.6.1.4.1.1466.115.121.1.12";
  94.       } else {
  95.          var1 = "unknown";
  96.       }
  97.  
  98.       return var1;
  99.    }
  100.  
  101.    public String getValue() {
  102.       String var1 = "( " + super.oid + " NAME '" + super.name + "' DESC '" + super.description + "' SYNTAX '";
  103.       var1 = var1 + this.internalSyntaxToString();
  104.       var1 = var1 + "' ";
  105.       if (this.single) {
  106.          var1 = var1 + "SINGLE-VALUE ";
  107.       }
  108.  
  109.       var1 = var1 + ')';
  110.       return var1;
  111.    }
  112.  
  113.    protected String syntaxToString() {
  114.       String var1;
  115.       if (this.syntax == 1) {
  116.          var1 = "case-insensitive string";
  117.       } else if (this.syntax == 2) {
  118.          var1 = "binary";
  119.       } else if (this.syntax == 6) {
  120.          var1 = "integer";
  121.       } else if (this.syntax == 4) {
  122.          var1 = "case-exact string";
  123.       } else if (this.syntax == 3) {
  124.          var1 = "telephone";
  125.       } else if (this.syntax == 5) {
  126.          var1 = "distinguished name";
  127.       } else {
  128.          var1 = "unknown";
  129.       }
  130.  
  131.       return var1;
  132.    }
  133.  
  134.    public String toString() {
  135.       String var1 = "Name: " + super.name + "; OID: " + super.oid + "; Type: ";
  136.       var1 = var1 + this.syntaxToString();
  137.       var1 = var1 + "; Description: " + super.description + "; ";
  138.       if (this.single) {
  139.          var1 = var1 + "single-valued";
  140.       } else {
  141.          var1 = var1 + "multi-valued";
  142.       }
  143.  
  144.       return var1;
  145.    }
  146.  
  147.    protected int syntaxCheck(String var1) {
  148.       byte var2 = 0;
  149.       if (var1.equals("1.3.6.1.4.1.1466.115.121.1.15")) {
  150.          var2 = 1;
  151.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.5")) {
  152.          var2 = 2;
  153.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.26")) {
  154.          var2 = 4;
  155.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.27")) {
  156.          var2 = 6;
  157.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.50")) {
  158.          var2 = 3;
  159.       } else if (var1.equals("1.3.6.1.4.1.1466.115.121.1.12")) {
  160.          var2 = 5;
  161.       }
  162.  
  163.       return var2;
  164.    }
  165. }
  166.