package com.hwlcn.ldap.ldap.sdk.controls;
import com.hwlcn.ldap.ldap.sdk.Control;
import com.hwlcn.ldap.ldap.sdk.LDAPException;
import com.hwlcn.ldap.ldap.sdk.ResultCode;
import com.hwlcn.core.annotation.NotMutable;
import com.hwlcn.core.annotation.ThreadSafety;
import com.hwlcn.ldap.util.ThreadSafetyLevel;
import static com.hwlcn.ldap.ldap.sdk.controls.ControlMessages.*;
@NotMutable()
@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE)
public final class DontUseCopyRequestControl
extends Control
{
public static final String DONT_USE_COPY_REQUEST_OID = "1.3.6.1.1.22";
private static final long serialVersionUID = -5352797941017941217L;
public DontUseCopyRequestControl()
{
super(DONT_USE_COPY_REQUEST_OID, true, null);
}
public DontUseCopyRequestControl(final Control control)
throws LDAPException
{
super(control);
if (control.hasValue())
{
throw new LDAPException(ResultCode.DECODING_ERROR,
ERR_DONT_USE_COPY_HAS_VALUE.get());
}
}
@Override()
public String getControlName()
{
return INFO_CONTROL_NAME_DONT_USE_COPY.get();
}
@Override()
public void toString(final StringBuilder buffer)
{
buffer.append("DontUseCopyRequestControl(isCritical=");
buffer.append(isCritical());
buffer.append(')');
}
}