home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / ldapjdk.jar / netscape / ldap / controls / LDAPVirtualListControl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-13  |  1.9 KB  |  86 lines

  1. package netscape.ldap.controls;
  2.  
  3. import netscape.ldap.LDAPControl;
  4. import netscape.ldap.ber.stream.BERConstruct;
  5. import netscape.ldap.ber.stream.BERInteger;
  6. import netscape.ldap.ber.stream.BEROctetString;
  7. import netscape.ldap.ber.stream.BERSequence;
  8. import netscape.ldap.ber.stream.BERTag;
  9.  
  10. public class LDAPVirtualListControl extends LDAPControl {
  11.    public static final String VIRTUALLIST = "2.16.840.1.113730.3.4.9";
  12.    private static final int TAG_BYINDEX = 0;
  13.    private static final int TAG_BYFILTER = 1;
  14.    private int m_beforeCount;
  15.    private int m_afterCount;
  16.    private int m_listIndex = -1;
  17.    private int m_listSize;
  18.  
  19.    LDAPVirtualListControl() {
  20.       super("2.16.840.1.113730.3.4.9", true, (byte[])null);
  21.    }
  22.  
  23.    public LDAPVirtualListControl(String var1, int var2, int var3) {
  24.       super("2.16.840.1.113730.3.4.9", true, (byte[])null);
  25.       this.setRange(var1, var2, var3);
  26.    }
  27.  
  28.    public LDAPVirtualListControl(int var1, int var2, int var3, int var4) {
  29.       super("2.16.840.1.113730.3.4.9", true, (byte[])null);
  30.       this.m_listSize = var4;
  31.       this.setRange(var1, var2, var3);
  32.    }
  33.  
  34.    public void setRange(int var1, int var2, int var3) {
  35.       this.m_beforeCount = var2;
  36.       this.m_afterCount = var3;
  37.       this.m_listIndex = var1;
  38.       super.m_value = this.createPageSpecification(this.m_listIndex, this.m_listSize, this.m_beforeCount, this.m_afterCount);
  39.    }
  40.  
  41.    public void setRange(String var1, int var2, int var3) {
  42.       this.m_beforeCount = var2;
  43.       this.m_afterCount = var3;
  44.       super.m_value = this.createPageSpecification(var1, this.m_beforeCount, this.m_afterCount);
  45.    }
  46.  
  47.    public int getIndex() {
  48.       return this.m_listIndex;
  49.    }
  50.  
  51.    public int getListSize() {
  52.       return this.m_listSize;
  53.    }
  54.  
  55.    public void setListSize(int var1) {
  56.       this.m_listSize = var1;
  57.    }
  58.  
  59.    public int getBeforeCount() {
  60.       return this.m_beforeCount;
  61.    }
  62.  
  63.    public int getAfterCount() {
  64.       return this.m_afterCount;
  65.    }
  66.  
  67.    private byte[] createPageSpecification(String var1, int var2, int var3) {
  68.       BERSequence var4 = new BERSequence();
  69.       ((BERConstruct)var4).addElement(new BERInteger(var2));
  70.       ((BERConstruct)var4).addElement(new BERInteger(var3));
  71.       ((BERConstruct)var4).addElement(new BERTag(129, new BEROctetString(var1), true));
  72.       return ((LDAPControl)this).flattenBER(var4);
  73.    }
  74.  
  75.    private byte[] createPageSpecification(int var1, int var2, int var3, int var4) {
  76.       BERSequence var5 = new BERSequence();
  77.       ((BERConstruct)var5).addElement(new BERInteger(var3));
  78.       ((BERConstruct)var5).addElement(new BERInteger(var4));
  79.       BERSequence var6 = new BERSequence();
  80.       ((BERConstruct)var6).addElement(new BERInteger(var1));
  81.       ((BERConstruct)var6).addElement(new BERInteger(var2));
  82.       ((BERConstruct)var5).addElement(new BERTag(160, var6, true));
  83.       return ((LDAPControl)this).flattenBER(var5);
  84.    }
  85. }
  86.