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
`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

Methods
`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.

Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.