package com.hwlcn.ldap.ldap.sdk;
import com.hwlcn.ldap.asn1.ASN1Integer;
import com.hwlcn.core.annotation.Extensible;
import com.hwlcn.core.annotation.ThreadSafety;
import com.hwlcn.ldap.util.ThreadSafetyLevel;
@Extensible()
@ThreadSafety(level=ThreadSafetyLevel.NOT_THREADSAFE)
public abstract class BindRequest
extends LDAPRequest
{
protected static final ASN1Integer VERSION_ELEMENT = new ASN1Integer(3);
private static final long serialVersionUID = -1509925217235385907L;
protected BindRequest(final Control[] controls)
{
super(controls);
}
@Override()
protected abstract BindResult process(final LDAPConnection connection,
final int depth)
throws LDAPException;
@Override()
public final OperationType getOperationType()
{
return OperationType.BIND;
}
public abstract String getBindType();
public abstract BindRequest duplicate();
public abstract BindRequest duplicate(final Control[] controls);
public BindRequest getRebindRequest(final String host, final int port)
{
return null;
}
}