home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / Notes.jar / lotus / domino / local / ACL.class (.txt) next >
Encoding:
Java Class File  |  1998-11-15  |  5.2 KB  |  358 lines

  1. package lotus.domino.local;
  2.  
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5. import lotus.domino.NotesException;
  6. import lotus.notes.JavaString;
  7.  
  8. public class ACL extends NotesBase implements lotus.domino.ACL {
  9.    private transient Database database;
  10.    private transient Vector entrylist;
  11.    private transient ACLEntry currEntry;
  12.  
  13.    private native int NgetFirstEntry();
  14.  
  15.    private native int NgetNextEntry(lotus.domino.ACLEntry var1);
  16.  
  17.    private native int NgetEntry(String var1);
  18.  
  19.    private native void Nsave();
  20.  
  21.    private native void NrenameRole(String var1, String var2);
  22.  
  23.    private native void NaddRole(String var1);
  24.  
  25.    private native void NdeleteRole(String var1);
  26.  
  27.    private native int NcreateACLEntry(String var1, int var2);
  28.  
  29.    protected ACL() throws NotesException {
  30.    }
  31.  
  32.    protected ACL(Database var1, int var2) throws NotesException {
  33.       super(var2, 13);
  34.       if (var1 == null) {
  35.          throw new NotesException(4405, JavaString.resource.getString("missing_db_object"));
  36.       } else {
  37.          this.database = var1;
  38.          this.entrylist = new Vector(3);
  39.          var1.AddObject(this);
  40.       }
  41.    }
  42.  
  43.    protected void InternalFinalize() throws NotesException {
  44.       try {
  45.          Enumeration var4 = this.entrylist.elements();
  46.  
  47.          while(var4.hasMoreElements()) {
  48.             ACLEntry var1 = (ACLEntry)var4.nextElement();
  49.             super.DestroyObject((NotesBase)var1);
  50.          }
  51.       } catch (Exception var7) {
  52.       } finally {
  53.          this.entrylist.removeAllElements();
  54.          super.finalize();
  55.       }
  56.  
  57.    }
  58.  
  59.    public synchronized void finalize() throws NotesException {
  60.       this.database.RemoveObject(this);
  61.       this.InternalFinalize();
  62.    }
  63.  
  64.    protected void AddEntry(Object var1) throws NotesException {
  65.       ((NotesBase)this).CheckObject();
  66.       Vector var2 = this.entrylist;
  67.       synchronized(var2){}
  68.  
  69.       try {
  70.          this.entrylist.addElement(var1);
  71.       } catch (Throwable var4) {
  72.          throw var4;
  73.       }
  74.  
  75.    }
  76.  
  77.    protected void RemoveEntry(Object var1) throws NotesException {
  78.       Vector var2 = this.entrylist;
  79.       synchronized(var2){}
  80.  
  81.       try {
  82.          this.entrylist.removeElement(var1);
  83.       } catch (Throwable var4) {
  84.          throw var4;
  85.       }
  86.  
  87.    }
  88.  
  89.    ACLEntry FindOrCreateEntry(int var1) throws NotesException {
  90.       ((NotesBase)this).CheckObject();
  91.       if (var1 == 0) {
  92.          return null;
  93.       } else {
  94.          Vector var4 = this.entrylist;
  95.          synchronized(var4){}
  96.  
  97.          ACLEntry var3;
  98.          try {
  99.             Enumeration var6 = this.entrylist.elements();
  100.  
  101.             ACLEntry var2;
  102.             do {
  103.                if (!var6.hasMoreElements()) {
  104.                   return new ACLEntry(this, var1);
  105.                }
  106.  
  107.                var2 = (ACLEntry)var6.nextElement();
  108.             } while(!((NotesBase)var2).isEqual(var1));
  109.  
  110.             var3 = var2;
  111.          } catch (Throwable var8) {
  112.             throw var8;
  113.          }
  114.  
  115.          return var3;
  116.       }
  117.    }
  118.  
  119.    public synchronized void recycle() throws NotesException {
  120.       try {
  121.          this.database.RemoveObject(this);
  122.          Enumeration var4 = this.entrylist.elements();
  123.  
  124.          while(var4.hasMoreElements()) {
  125.             ACLEntry var1 = (ACLEntry)var4.nextElement();
  126.             super.RecycleObject((NotesBase)var1);
  127.          }
  128.       } catch (NotesException var7) {
  129.       } finally {
  130.          this.entrylist.removeAllElements();
  131.          super.Recycle();
  132.       }
  133.  
  134.    }
  135.  
  136.    public lotus.domino.ACLEntry getFirstEntry() throws NotesException {
  137.       ((NotesBase)this).CheckObject();
  138.       synchronized(this){}
  139.  
  140.       ACLEntry var1;
  141.       try {
  142.          this.currEntry = this.FindOrCreateEntry(this.NgetFirstEntry());
  143.          var1 = this.currEntry;
  144.       } catch (Throwable var5) {
  145.          throw var5;
  146.       }
  147.  
  148.       return var1;
  149.    }
  150.  
  151.    public lotus.domino.ACLEntry getNextEntry(lotus.domino.ACLEntry var1) throws NotesException {
  152.       ((NotesBase)this).CheckObject();
  153.       synchronized(this){}
  154.  
  155.       ACLEntry var2;
  156.       try {
  157.          if (var1 == null) {
  158.             throw new NotesException(4403, JavaString.resource.getString("missing_acl_object"));
  159.          }
  160.  
  161.          this.currEntry = this.FindOrCreateEntry(this.NgetNextEntry(var1));
  162.          var2 = this.currEntry;
  163.       } catch (Throwable var6) {
  164.          throw var6;
  165.       }
  166.  
  167.       return var2;
  168.    }
  169.  
  170.    public lotus.domino.ACLEntry getNextEntry() throws NotesException {
  171.       ((NotesBase)this).CheckObject();
  172.       synchronized(this){}
  173.  
  174.       ACLEntry var1;
  175.       try {
  176.          this.currEntry = this.FindOrCreateEntry(this.NgetNextEntry(this.currEntry));
  177.          var1 = this.currEntry;
  178.       } catch (Throwable var5) {
  179.          throw var5;
  180.       }
  181.  
  182.       return var1;
  183.    }
  184.  
  185.    public lotus.domino.ACLEntry getEntry(String var1) throws NotesException {
  186.       ((NotesBase)this).CheckObject();
  187.       synchronized(this){}
  188.  
  189.       ACLEntry var2;
  190.       try {
  191.          this.currEntry = this.FindOrCreateEntry(this.NgetEntry(var1));
  192.          var2 = this.currEntry;
  193.       } catch (Throwable var6) {
  194.          throw var6;
  195.       }
  196.  
  197.       return var2;
  198.    }
  199.  
  200.    public void save() throws NotesException {
  201.       ((NotesBase)this).CheckObject();
  202.       synchronized(this){}
  203.  
  204.       try {
  205.          this.Nsave();
  206.       } catch (Throwable var3) {
  207.          throw var3;
  208.       }
  209.  
  210.    }
  211.  
  212.    public void renameRole(String var1, String var2) throws NotesException {
  213.       ((NotesBase)this).CheckObject();
  214.       synchronized(this){}
  215.  
  216.       try {
  217.          this.NrenameRole(var1, var2);
  218.       } catch (Throwable var5) {
  219.          throw var5;
  220.       }
  221.  
  222.    }
  223.  
  224.    public void addRole(String var1) throws NotesException {
  225.       ((NotesBase)this).CheckObject();
  226.       synchronized(this){}
  227.  
  228.       try {
  229.          this.NaddRole(var1);
  230.       } catch (Throwable var4) {
  231.          throw var4;
  232.       }
  233.  
  234.    }
  235.  
  236.    public void deleteRole(String var1) throws NotesException {
  237.       ((NotesBase)this).CheckObject();
  238.       synchronized(this){}
  239.  
  240.       try {
  241.          this.NdeleteRole(var1);
  242.       } catch (Throwable var4) {
  243.          throw var4;
  244.       }
  245.  
  246.    }
  247.  
  248.    public lotus.domino.ACLEntry createACLEntry(String var1, int var2) throws NotesException {
  249.       ((NotesBase)this).CheckObject();
  250.       synchronized(this){}
  251.  
  252.       ACLEntry var3;
  253.       try {
  254.          var3 = this.FindOrCreateEntry(this.NcreateACLEntry(var1, var2));
  255.       } catch (Throwable var7) {
  256.          throw var7;
  257.       }
  258.  
  259.       return var3;
  260.    }
  261.  
  262.    public void removeACLEntry(String var1) throws NotesException {
  263.       ((NotesBase)this).CheckObject();
  264.       synchronized(this){}
  265.  
  266.       try {
  267.          ACLEntry var2 = this.FindOrCreateEntry(this.NgetEntry(var1));
  268.          var2.remove();
  269.       } catch (Throwable var5) {
  270.          throw var5;
  271.       }
  272.  
  273.    }
  274.  
  275.    public Vector getRoles() throws NotesException {
  276.       ((NotesBase)this).CheckObject();
  277.       synchronized(this){}
  278.  
  279.       Vector var2;
  280.       try {
  281.          String[] var5 = ((NotesBase)this).PropGetStringArray(1400);
  282.          Vector var1;
  283.          if (var5 != null && var5.length > 0) {
  284.             var1 = new Vector(var5.length, 1);
  285.  
  286.             for(int var6 = 0; var6 < var5.length; ++var6) {
  287.                var1.addElement(var5[var6]);
  288.             }
  289.          } else {
  290.             var1 = new Vector(1);
  291.          }
  292.  
  293.          var2 = var1;
  294.       } catch (Throwable var8) {
  295.          throw var8;
  296.       }
  297.  
  298.       return var2;
  299.    }
  300.  
  301.    public lotus.domino.Database getParent() throws NotesException {
  302.       ((NotesBase)this).CheckObject();
  303.       return this.database;
  304.    }
  305.  
  306.    public boolean isUniformAccess() throws NotesException {
  307.       ((NotesBase)this).CheckObject();
  308.       synchronized(this){}
  309.  
  310.       boolean var1;
  311.       try {
  312.          var1 = ((NotesBase)this).PropGetBool(1423);
  313.       } catch (Throwable var5) {
  314.          throw var5;
  315.       }
  316.  
  317.       return var1;
  318.    }
  319.  
  320.    public void setUniformAccess(boolean var1) throws NotesException {
  321.       ((NotesBase)this).CheckObject();
  322.       synchronized(this){}
  323.  
  324.       try {
  325.          ((NotesBase)this).PropSetBool(1423, var1);
  326.       } catch (Throwable var4) {
  327.          throw var4;
  328.       }
  329.  
  330.    }
  331.  
  332.    public int getInternetLevel() throws NotesException {
  333.       ((NotesBase)this).CheckObject();
  334.       synchronized(this){}
  335.  
  336.       int var1;
  337.       try {
  338.          var1 = ((NotesBase)this).PropGetInt(1463);
  339.       } catch (Throwable var5) {
  340.          throw var5;
  341.       }
  342.  
  343.       return var1;
  344.    }
  345.  
  346.    public void setInternetLevel(int var1) throws NotesException {
  347.       ((NotesBase)this).CheckObject();
  348.       synchronized(this){}
  349.  
  350.       try {
  351.          ((NotesBase)this).PropSetInt(1463, var1);
  352.       } catch (Throwable var4) {
  353.          throw var4;
  354.       }
  355.  
  356.    }
  357. }
  358.