API Overview API Index Package Overview Direct link to this page
JDK 1.6
  javax.naming.ldap. BasicControl View Javadoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100

/*
 * @(#)BasicControl.java	1.4 05/11/17
 *
 *
 * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package javax.naming.ldap;

/**
 * This class provides a basic implementation of the <tt>Control</tt>
 * interface. It represents an LDAPv3 Control as defined in
 * <a href="http://www.ietf.org/rfc/rfc2251.txt">RFC 2251</a>.
 *
 * @since 1.5
 * @author Vincent Ryan
 */
public class BasicControl implements Control {

    /** 
     * The control's object identifier string.
     *
     * @serial
     */
    protected String id;

    /** 
     * The control's criticality.
     *
     * @serial
     */
    protected boolean criticality = false; // default

    /** 
     * The control's ASN.1 BER encoded value.
     *
     * @serial
     */
    protected byte[] value = null;

    private static final long serialVersionUID = -4233907508771791687L;

    /**
     * Constructs a non-critical control.
     * 
     * @param	id	The control's object identifier string.
     *
     */
    public BasicControl(String id) {
	this.id = id;
    }

    /**
     * Constructs a control using the supplied arguments.
     * 
     * @param	id		The control's object identifier string.
     * @param	criticality	The control's criticality.
     * @param	value		The control's ASN.1 BER encoded value.
     * 				It is not cloned - any changes to value 
     *                          will affect the contents of the control.
     *                          It may be null.
     */
    public BasicControl(String id, boolean criticality, byte[] value) {
	this.id = id;
	this.criticality = criticality;
	this.value = value;
    }

    /**
     * Retrieves the control's object identifier string.
     *
     * @return The non-null object identifier string.
     */
    public String getID() {
	return id;
    }

    /**
     * Determines the control's criticality.
     *
     * @return true if the control is critical; false otherwise.
     */
    public boolean isCritical() {
	return criticality;
    }

    /**
     * Retrieves the control's ASN.1 BER encoded value.
     * The result includes the BER tag and length for the control's value but
     * does not include the control's object identifier and criticality setting.
     *
     * @return A possibly null byte array representing the control's
     *		ASN.1 BER encoded value. It is not cloned - any changes to the 
     *          returned value will affect the contents of the control.
     */
    public byte[] getEncodedValue() {
	return value;
    }
}

Generated By: JavaOnTracks Doclet 0.1.4     ©Thibaut Colar