org.apache.directory.shared.ldap.message
Class MessageDecoder

java.lang.Object
  extended byorg.apache.directory.shared.ldap.message.MessageDecoder
All Implemented Interfaces:
ProviderDecoder, ProviderObject, org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder

public final class MessageDecoder
extends java.lang.Object
implements ProviderDecoder

Decodes a BER encoded LDAPv3 message envelope from an input stream demarshaling it into a Message instance using a BER library provider.

Version:
$Rev: 379008 $
Author:
Apache Directory Project

Constructor Summary
MessageDecoder(java.util.Hashtable env)
          Creates a MessageDecoder using default properties for enabling a BER library provider.
 
Method Summary
 void decode(java.lang.Object chunk)
          Decodes a chunk of stream data returning any resultant decoded PDU via a callback.
 java.lang.Object decode(java.lang.Object lock, java.io.InputStream in)
          Reads and decodes a BER encoded LDAPv3 ASN.1 message envelope structure from an input stream to build a fully populated Message object instance.
 Provider getProvider()
          Gets the Provider associated with this SPI implementation object.
 void setCallback(org.apache.directory.shared.asn1.codec.stateful.DecoderCallback cb)
          Sets the callback used to deliver completly decoded PDU's.
 void setDecoderMonitor(org.apache.directory.shared.asn1.codec.stateful.DecoderMonitor monitor)
          Sets the monitor for this MessageDecoder which receives callbacks for noteworthy events during decoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageDecoder

public MessageDecoder(java.util.Hashtable env)
               throws MessageException
Creates a MessageDecoder using default properties for enabling a BER library provider.

Parameters:
env - The Map of environment parameters.
Throws:
MessageException - if there is a problem creating this decoder.
Method Detail

decode

public java.lang.Object decode(java.lang.Object lock,
                               java.io.InputStream in)
                        throws MessageException
Reads and decodes a BER encoded LDAPv3 ASN.1 message envelope structure from an input stream to build a fully populated Message object instance.

Specified by:
decode in interface ProviderDecoder
Parameters:
lock - lock object used to exclusively read from the input stream
in - the input stream to read PDU data from.
Returns:
the populated Message representing the PDU envelope.
Throws:
MessageException - if there is a problem decoding.

decode

public void decode(java.lang.Object chunk)
            throws MessageException
Decodes a chunk of stream data returning any resultant decoded PDU via a callback.

Specified by:
decode in interface org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder
Parameters:
chunk - the chunk to decode
Throws:
MessageException - if there are failures while decoding the chunk

setCallback

public void setCallback(org.apache.directory.shared.asn1.codec.stateful.DecoderCallback cb)
Sets the callback used to deliver completly decoded PDU's.

Specified by:
setCallback in interface org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder
Parameters:
cb - the callback to use for decoded PDU delivery

setDecoderMonitor

public void setDecoderMonitor(org.apache.directory.shared.asn1.codec.stateful.DecoderMonitor monitor)
Sets the monitor for this MessageDecoder which receives callbacks for noteworthy events during decoding.

Specified by:
setDecoderMonitor in interface org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder
Parameters:
monitor - the monitor to receive notifications via callback events

getProvider

public Provider getProvider()
Description copied from interface: ProviderObject
Gets the Provider associated with this SPI implementation object.

Specified by:
getProvider in interface ProviderObject
Returns:
Provider.


Copyright © 2003-2006 . All Rights Reserved.