org.apache.directory.shared.ldap.message.spi
Interface ProviderDecoder

All Superinterfaces:
ProviderObject, org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder
All Known Implementing Classes:
MessageDecoder, TwixDecoder

public interface ProviderDecoder
extends ProviderObject, org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder

Standard decoder service provider interface. BER decoders generating ASN.1 compiler stub based containment tree for a provider are expected to implement this interface.

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

Method Summary
 java.lang.Object decode(java.lang.Object lock, java.io.InputStream in)
          Decodes a BER encoded LDAPv3 ASN.1 message envelope from a binary input stream into an in memory containment tree using stub's generated by a provider's ASN.1 stub compiler and associated runtime BER libraries.
 
Methods inherited from interface org.apache.directory.shared.ldap.message.spi.ProviderObject
getProvider
 
Methods inherited from interface org.apache.directory.shared.asn1.codec.stateful.StatefulDecoder
decode, setCallback, setDecoderMonitor
 

Method Detail

decode

public java.lang.Object decode(java.lang.Object lock,
                               java.io.InputStream in)
                        throws ProviderException
Decodes a BER encoded LDAPv3 ASN.1 message envelope from a binary input stream into an in memory containment tree using stub's generated by a provider's ASN.1 stub compiler and associated runtime BER libraries.

Parameters:
lock - lock object used to exclusively read from the input stream
in - the binary input stream where the encoded message PDU is read
Returns:
an object representing the top-most containment tree object which represents the entire message envelope. For the Snacc provider this object would be a populated instance of LDAPMessage.
Throws:
ProviderException - to indicate an error while attempting to decode the message envelope onto the output stream. Provider specific exceptions encountered while decoding can be held within this subclass of MultiException.


Copyright © 2003-2006 . All Rights Reserved.