org.jboss.remoting.marshal
Interface UnMarshaller

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
PreferredStreamUnMarshaller, SerialUnMarshaller, VersionedUnMarshaller
All Known Implementing Classes:
CompressingUnMarshaller, EncryptingUnMarshaller, HTTPUnMarshaller, RMIUnMarshaller, SerializableUnMarshaller

public interface UnMarshaller
extends java.io.Serializable

Takes a marshalled byte array and converts to a Java data object.

Author:
Tom Elrod

Method Summary
 UnMarshaller cloneUnMarshaller()
           
 java.lang.Object read(java.io.InputStream inputStream, java.util.Map metadata)
          Will read from the inputstream and converty contents to java Object.
 void setClassLoader(java.lang.ClassLoader classloader)
          Set the class loader to use for unmarhsalling.
 

Method Detail

read

java.lang.Object read(java.io.InputStream inputStream,
                      java.util.Map metadata)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException
Will read from the inputstream and converty contents to java Object.

Parameters:
inputStream - stream to read data from to do conversion.
metadata - can be any transport specific metadata (such as headers from http transport). This can be null, depending on if transport supports metadata.
Returns:
Throws:
java.io.IOException - all specific i/o exceptions need to be thrown as this.
java.lang.ClassNotFoundException - will be thrown if during the unmarshalling process can not find a specific class within classloader.

setClassLoader

void setClassLoader(java.lang.ClassLoader classloader)
Set the class loader to use for unmarhsalling. This may be needed when need to have access to class definitions that are not part of this unmarshaller's parent classloader (especially when doing remote classloading).


cloneUnMarshaller

UnMarshaller cloneUnMarshaller()
                               throws java.lang.CloneNotSupportedException
Throws:
java.lang.CloneNotSupportedException


Copyright © 1998-2005 JBoss Inc . All Rights Reserved.