org.apache.directory.shared.ldap.codec.decorators
Class SearchResultReferenceDecorator

java.lang.Object
  extended by org.apache.directory.shared.ldap.codec.decorators.MessageDecorator<SearchResultReference>
      extended by org.apache.directory.shared.ldap.codec.decorators.SearchResultReferenceDecorator
All Implemented Interfaces:
Decorator<SearchResultReference>, Message, Response, SearchResultReference

public class SearchResultReferenceDecorator
extends MessageDecorator<SearchResultReference>
implements SearchResultReference

A decorator for the SearchResultReference message

Author:
Apache Directory Project

Field Summary
 
Fields inherited from class org.apache.directory.shared.ldap.codec.decorators.MessageDecorator
messageLength
 
Fields inherited from interface org.apache.directory.shared.ldap.model.message.SearchResultReference
TYPE
 
Constructor Summary
SearchResultReferenceDecorator(LdapCodecService codec, SearchResultReference decoratedMessage)
          Makes a SearchResultReference encodable.
 
Method Summary
 int computeLength()
          Compute the SearchResultReference length SearchResultReference :
 ByteBuffer encode(ByteBuffer buffer)
          Encode the SearchResultReference message to a PDU.
 Referral getReferral()
          
 int getReferralLength()
           
 int getSearchResultReferenceLength()
           
 void setReferral(Referral referral)
          
 void setReferralLength(int referralLength)
          Stores the encoded length for the Referrals
 void setSearchResultReferenceLength(int searchResultReferenceLength)
          Stores the encoded length for the SearchResultReference's
 
Methods inherited from class org.apache.directory.shared.ldap.codec.decorators.MessageDecorator
addAllControls, addControl, get, getCodecService, getControl, getControls, getControlsLength, getCurrentControl, getDecorated, getDecorator, getMessageId, getMessageLength, getType, hasControl, put, removeControl, setControlsLength, setMessageId, setMessageLength, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.directory.shared.ldap.model.message.Message
addAllControls, addControl, get, getControl, getControls, getMessageId, getType, hasControl, put, removeControl, setMessageId
 

Constructor Detail

SearchResultReferenceDecorator

public SearchResultReferenceDecorator(LdapCodecService codec,
                                      SearchResultReference decoratedMessage)
Makes a SearchResultReference encodable.

Parameters:
decoratedMessage - the decorated SearchResultReference
Method Detail

getReferralLength

public int getReferralLength()
Returns:
The encoded Referral's length

setReferralLength

public void setReferralLength(int referralLength)
Stores the encoded length for the Referrals

Parameters:
referralLength - The encoded length

getSearchResultReferenceLength

public int getSearchResultReferenceLength()
Returns:
The encoded SearchResultReference's length

setSearchResultReferenceLength

public void setSearchResultReferenceLength(int searchResultReferenceLength)
Stores the encoded length for the SearchResultReference's

Parameters:
searchResultReferenceLength - The encoded length

getReferral

public Referral getReferral()

Specified by:
getReferral in interface SearchResultReference

setReferral

public void setReferral(Referral referral)

Specified by:
setReferral in interface SearchResultReference

computeLength

public int computeLength()
Compute the SearchResultReference length SearchResultReference :
 0x73 L1
  |
  +--> 0x04 L2 reference
  +--> 0x04 L3 reference
  +--> ...
  +--> 0x04 Li reference
  +--> ...
  +--> 0x04 Ln reference
 
 L1 = n*Length(0x04) + sum(Length(Li)) + sum(Length(reference[i]))
 
 Length(SearchResultReference) = Length(0x73 + Length(L1) + L1
 

Specified by:
computeLength in interface Decorator<SearchResultReference>
Returns:
The object's computed length

encode

public ByteBuffer encode(ByteBuffer buffer)
                  throws EncoderException
Encode the SearchResultReference message to a PDU. SearchResultReference :
 0x73 LL
   0x04 LL reference
   [0x04 LL reference]*
 

Specified by:
encode in interface Decorator<SearchResultReference>
Parameters:
buffer - The buffer where to put the PDU
searchResultReferenceDecorator - The SearchResultReference decorator
Returns:
The PDU.
Throws:
EncoderException - if the buffer can't be encoded


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