BasicControl (Java Platform SE 8 )
Keywords: javax.naming.ldap.BasicControl class
Date: 2026-04-22

compact3
javax.naming.ldap

## Class BasicControl

- java.lang.Object
- - javax.naming.ldap.BasicControl

- All Implemented Interfaces:
    Serializable, Control
  Direct Known Subclasses:
    ManageReferralControl, PagedResultsControl, PagedResultsResponseControl, SortControl, SortResponseControl

      public class BasicControl
      extends Object
      implements Control

  This class provides a basic implementation of the `Control` interface. It represents an LDAPv3 Control as defined in RFC 2251.
  Since:
    1.5
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `criticality` The control's criticality.
    `protected String` | `id` The control's object identifier string.
    `protected byte[]` | `value` The control's ASN.1 BER encoded value.

    - ### Fields inherited from interface javax.naming.ldap.Control

      `CRITICAL, NONCRITICAL`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicControl(String id)` Constructs a non-critical control.
    `BasicControl(String id, boolean criticality, byte[] value)` Constructs a control using the supplied arguments.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `byte[]` | `getEncodedValue()` Retrieves the control's ASN.1 BER encoded value.
    `String` | `getID()` Retrieves the control's object identifier string.
    `boolean` | `isCritical()` Determines the control's criticality.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### id

          protected String id

      The control's object identifier string.

    - #### criticality

          protected boolean criticality

      The control's criticality.

    - #### value

          protected byte[] value

      The control's ASN.1 BER encoded value.

  - ### Constructor Detail

    - #### BasicControl

          public BasicControl(String id)

      Constructs a non-critical control.
      Parameters:
        `id` - The control's object identifier string.

    - #### BasicControl

          public BasicControl(String id,
                              boolean criticality,
                              byte[] value)

      Constructs a control using the supplied arguments.
      Parameters:
        `id` - The control's object identifier string.
        `criticality` - The control's criticality.
        `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.

  - ### Method Detail

    - #### getID

          public String getID()

      Retrieves the control's object identifier string.
      Specified by:
        `getID` in interface `Control`
      Returns:
        The non-null object identifier string.

    - #### isCritical

          public boolean isCritical()

      Determines the control's criticality.
      Specified by:
        `isCritical` in interface `Control`
      Returns:
        true if the control is critical; false otherwise.

    - #### getEncodedValue

          public byte[] getEncodedValue()

      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.
      Specified by:
        `getEncodedValue` in interface `Control`
      Returns:
        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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.