org.apache.directory.shared.ldap.codec.bind
Class BindRequestCodec

java.lang.Object
  extended by org.apache.directory.shared.asn1.AbstractAsn1Object
      extended by org.apache.directory.shared.ldap.codec.LdapMessageCodec
          extended by org.apache.directory.shared.ldap.codec.bind.BindRequestCodec
All Implemented Interfaces:
Asn1Object

public class BindRequestCodec
extends LdapMessageCodec

A BindRequest ldapObject. It's a sub-class of Asn1Object, and it extends the Asn1Object class to be seen as a member of the LdapMessage CHOICE.

Version:
$Rev: 921600 $, $Date: 2010-03-10 23:37:30 +0100 (Wed, 10 Mar 2010) $,
Author:
Apache Directory Project

Field Summary
 
Fields inherited from class org.apache.directory.shared.ldap.codec.LdapMessageCodec
ldapMessageLength
 
Fields inherited from class org.apache.directory.shared.asn1.AbstractAsn1Object
parent
 
Constructor Summary
BindRequestCodec()
          Creates a new BindRequest object.
 
Method Summary
protected  int computeLengthProtocolOp()
          Compute the BindRequest length BindRequest :
protected  void encodeProtocolOp(java.nio.ByteBuffer buffer)
          Encode the BindRequest message to a PDU.
 LdapAuthentication getAuthentication()
          Get the user authentication
 MessageTypeEnum getMessageType()
          Get the message type
 java.lang.String getMessageTypeName()
          Get the message type Name
 DN getName()
          Get the user name
 SaslCredentials getSaslAuthentication()
          Get the user sasl authentication
 SimpleAuthentication getSimpleAuthentication()
          Get the user simple authentication
 int getVersion()
          Get the protocol version
 boolean isLdapV3()
          Check if the Ldap version in use is 3
 void setAuthentication(LdapAuthentication authentication)
          Set the user authentication
 void setName(DN name)
          Set the user name
 void setVersion(int version)
          Set the protocol version
 java.lang.String toString()
          Get a String representation of a BindRequest
 
Methods inherited from class org.apache.directory.shared.ldap.codec.LdapMessageCodec
addControl, addControls, computeLength, encode, getCodecControl, getControls, getControls, getCurrentControl, getMessageId, initControls, setMessageId, toString
 
Methods inherited from class org.apache.directory.shared.asn1.AbstractAsn1Object
addLength, encode, getCurrentLength, getExpectedLength, getParent, getTlvId, setCurrentLength, setExpectedLength, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BindRequestCodec

public BindRequestCodec()
Creates a new BindRequest object.

Method Detail

getMessageType

public MessageTypeEnum getMessageType()
Get the message type

Specified by:
getMessageType in class LdapMessageCodec
Returns:
Returns the type.

getMessageTypeName

public java.lang.String getMessageTypeName()
Get the message type Name

Specified by:
getMessageTypeName in class LdapMessageCodec
Returns:
The message type name

getAuthentication

public LdapAuthentication getAuthentication()
Get the user authentication

Returns:
The user authentication

getSimpleAuthentication

public SimpleAuthentication getSimpleAuthentication()
Get the user simple authentication

Returns:
The simple user authentication

getSaslAuthentication

public SaslCredentials getSaslAuthentication()
Get the user sasl authentication

Returns:
The sasl user authentication

setAuthentication

public void setAuthentication(LdapAuthentication authentication)
Set the user authentication

Parameters:
authentication - The user authentication

getName

public DN getName()
Get the user name

Returns:
The user name

setName

public void setName(DN name)
Set the user name

Parameters:
name - The user name

getVersion

public int getVersion()
Get the protocol version

Returns:
The protocol version

isLdapV3

public boolean isLdapV3()
Check if the Ldap version in use is 3

Returns:
true if the ldap version is 3

setVersion

public void setVersion(int version)
Set the protocol version

Parameters:
version - The protocol version

computeLengthProtocolOp

protected int computeLengthProtocolOp()
Compute the BindRequest length BindRequest :
 0x60 L1 
   | 
   +--> 0x02 0x01 (1..127) version 
   +--> 0x04 L2 name 
   +--> authentication 
   
 L2 = Length(name)
 L3/4 = Length(authentication) 
 Length(BindRequest) = Length(0x60) + Length(L1) + L1 + Length(0x02) + 1 + 1 + 
      Length(0x04) + Length(L2) + L2 + Length(authentication)
 

Specified by:
computeLengthProtocolOp in class LdapMessageCodec

encodeProtocolOp

protected void encodeProtocolOp(java.nio.ByteBuffer buffer)
                         throws EncoderException
Encode the BindRequest message to a PDU. BindRequest :
 0x60 LL 
   0x02 LL version         0x80 LL simple 
   0x04 LL name           /   
   authentication.encode() 
                          \ 0x83 LL mechanism [0x04 LL credential]
 

Specified by:
encodeProtocolOp in class LdapMessageCodec
Parameters:
buffer - The buffer where to put the PDU
Throws:
EncoderException

toString

public java.lang.String toString()
Get a String representation of a BindRequest

Overrides:
toString in class java.lang.Object
Returns:
A BindRequest String


Copyright © 2003-2011 Apache Software Foundation. All Rights Reserved.