org.jboss.proxy.ejb.handle
Class HandleDelegateImpl

java.lang.Object
  extended byorg.jboss.proxy.ejb.handle.HandleDelegateImpl
All Implemented Interfaces:
HandleDelegate (src)

public class HandleDelegateImpl
extends java.lang.Object
implements HandleDelegate (src)

Implementation of the javax.ejb.spi.HandleDelegate interface

The HandleDelegate interface is implemented by the EJB container. It is used by portable implementations of javax.ejb.Handle and javax.ejb.HomeHandle. It is not used by EJB components or by client components. It provides methods to serialize and deserialize EJBObject and EJBHome references to streams.

The HandleDelegate object is obtained by JNDI lookup at the reserved name "java:comp/HandleDelegate".


Constructor Summary
HandleDelegateImpl()
           
 
Method Summary
static HandleDelegate (src) getDelegate()
           
 EJBHome (src) readEJBHome(java.io.ObjectInputStream oistream)
          Deserialize the EJBHome reference corresponding to a HomeHandle.
 EJBObject (src) readEJBObject(java.io.ObjectInputStream oistream)
          Deserialize the EJBObject reference corresponding to a Handle.
protected  void reconnect(java.lang.Object object)
           
 void writeEJBHome(EJBHome (src)  ejbHome, java.io.ObjectOutputStream oostream)
          Serialize the EJBHome reference corresponding to a HomeHandle.
 void writeEJBObject(EJBObject (src)  ejbObject, java.io.ObjectOutputStream oostream)
          Serialize the EJBObject reference corresponding to a Handle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HandleDelegateImpl

public HandleDelegateImpl()
Method Detail

getDelegate

public static HandleDelegate (src)  getDelegate()

writeEJBObject

public void writeEJBObject(EJBObject (src)  ejbObject,
                           java.io.ObjectOutputStream oostream)
                    throws java.io.IOException
Description copied from interface: HandleDelegate (src)

Serialize the EJBObject reference corresponding to a Handle.

This method is called from the writeObject method of portable Handle implementation classes. The ostream object is the same object that was passed in to the Handle class's writeObject.

Specified by:
writeEJBObject in interface HandleDelegate (src)
Parameters:
ejbObject - - The EJBObject reference to be serialized.
oostream - - The output stream.
Throws:
java.io.IOException - - The EJBObject could not be serialized because of a system-level failure.

readEJBObject

public EJBObject (src)  readEJBObject(java.io.ObjectInputStream oistream)
                        throws java.io.IOException,
                               java.lang.ClassNotFoundException
Description copied from interface: HandleDelegate (src)

Deserialize the EJBObject reference corresponding to a Handle.

readEJBObject is called from the readObject method of portable Handle implementation classes. The istream object is the same object that was passed in to the Handle class's readObject. When readEJBObject is called, istream must point to the location in the stream at which the EJBObject reference can be read. The container must ensure that the EJBObject reference is capable of performing invocations immediately after deserialization.

Specified by:
readEJBObject in interface HandleDelegate (src)
Parameters:
oistream - - The input stream.
Returns:
The deserialized EJBObject reference.
Throws:
java.lang.ClassNotFoundException - - The EJBObject could not be deserialized because some class could not be found.
java.io.IOException - - The EJBObject could not be deserialized because of a system-level failure.

writeEJBHome

public void writeEJBHome(EJBHome (src)  ejbHome,
                         java.io.ObjectOutputStream oostream)
                  throws java.io.IOException
Description copied from interface: HandleDelegate (src)

Serialize the EJBHome reference corresponding to a HomeHandle.

This method is called from the writeObject method of portable HomeHandle implementation classes. The ostream object is the same object that was passed in to the Handle class's writeObject.

Specified by:
writeEJBHome in interface HandleDelegate (src)
Parameters:
ejbHome - - The EJBHome reference to be serialized.
oostream - - The output stream.
Throws:
java.io.IOException - - The EJBObject could not be serialized because of a system-level failure.

readEJBHome

public EJBHome (src)  readEJBHome(java.io.ObjectInputStream oistream)
                    throws java.io.IOException,
                           java.lang.ClassNotFoundException
Description copied from interface: HandleDelegate (src)

Deserialize the EJBHome reference corresponding to a HomeHandle.

readEJBHome is called from the readObject method of portable HomeHandle implementation classes. The istream object is the same object that was passed in to the HomeHandle class's readObject. When readEJBHome is called, istream must point to the location in the stream at which the EJBHome reference can be read. The container must ensure that the EJBHome reference is capable of performing invocations immediately after deserialization.

Specified by:
readEJBHome in interface HandleDelegate (src)
Parameters:
oistream - - The input stream.
Returns:
The deserialized EJBHome reference.
Throws:
java.io.IOException - - The EJBHome could not be deserialized because of a system-level failure.
java.lang.ClassNotFoundException - - The EJBHome could not be deserialized because some class could not be found.

reconnect

protected void reconnect(java.lang.Object object)
                  throws java.io.IOException
Throws:
java.io.IOException