home *** CD-ROM | disk | FTP | other *** search
- package netscape.ldap.client;
-
- import netscape.ldap.ber.stream.BERBoolean;
- import netscape.ldap.ber.stream.BERConstruct;
- import netscape.ldap.ber.stream.BERElement;
- import netscape.ldap.ber.stream.BEROctetString;
- import netscape.ldap.ber.stream.BERSequence;
-
- public class JDAPControl {
- String m_type;
- boolean m_criticality = false;
- byte[] m_vals;
-
- public JDAPControl(String var1, boolean var2, byte[] var3) {
- this.m_type = var1;
- this.m_criticality = var2;
- this.m_vals = var3;
- }
-
- public JDAPControl(BERElement var1) {
- BERSequence var2 = (BERSequence)var1;
-
- try {
- this.m_type = new String(((BEROctetString)((BERConstruct)var2).elementAt(0)).getValue(), "UTF8");
- } catch (Throwable var4) {
- }
-
- BERElement var3 = ((BERConstruct)var2).elementAt(1);
- if (var3 instanceof BERBoolean) {
- this.m_criticality = ((BERBoolean)var3).getValue();
- } else {
- this.m_vals = ((BEROctetString)var3).getValue();
- }
-
- if (((BERConstruct)var2).size() >= 3) {
- this.m_vals = ((BEROctetString)((BERConstruct)var2).elementAt(2)).getValue();
- }
-
- }
-
- public BERElement getBERElement() {
- BERSequence var1 = new BERSequence();
- ((BERConstruct)var1).addElement(new BEROctetString(this.m_type));
- ((BERConstruct)var1).addElement(new BERBoolean(this.m_criticality));
- if (this.m_vals != null && this.m_vals.length >= 1) {
- ((BERConstruct)var1).addElement(new BEROctetString(this.m_vals, 0, this.m_vals.length));
- } else {
- ((BERConstruct)var1).addElement(new BEROctetString((byte[])null));
- }
-
- return var1;
- }
-
- public String getID() {
- return this.m_type;
- }
-
- public boolean isCritical() {
- return this.m_criticality;
- }
-
- public byte[] getValue() {
- return this.m_vals;
- }
-
- public String toString() {
- return "Control { type=" + this.m_type + ", criticality=" + this.m_criticality;
- }
- }
-