javax.ejb.spi

## Interface HandleDelegate

-     public interface HandleDelegate

  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"`.

  Since:
    EJB 2.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `EJBHome` | `readEJBHome(ObjectInputStream istream)` Deserialize the EJBHome reference corresponding to a HomeHandle.
    `EJBObject` | `readEJBObject(ObjectInputStream istream)` Deserialize the EJBObject reference corresponding to a Handle.
    `void` | `writeEJBHome(EJBHome ejbHome, ObjectOutputStream ostream)` Serialize the EJBHome reference corresponding to a HomeHandle.
    `void` | `writeEJBObject(EJBObject ejbObject, ObjectOutputStream ostream)` Serialize the EJBObject reference corresponding to a Handle.

- - ### Method Detail

    - #### writeEJBObject

          void writeEJBObject(EJBObject ejbObject,
                            ObjectOutputStream ostream)
                              throws IOException

      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` method.

      Parameters:
        `ejbObject` - The EJBObject reference to be serialized.
        `ostream` - The output stream.
      Throws:
        `IOException` - The EJBObject could not be serialized because of a system-level failure.

    - #### readEJBObject

          EJBObject readEJBObject(ObjectInputStream istream)
                                  throws IOException,
                                         ClassNotFoundException

      Deserialize the EJBObject reference corresponding to a Handle.

      The `readEJBObject` method 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` method. 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.

      Parameters:
        `istream` - The input stream.
      Returns:
        The deserialized EJBObject reference.
      Throws:
        `IOException` - The EJBObject could not be deserialized because of a system-level failure.
        `ClassNotFoundException` - The EJBObject could not be deserialized because some class could not be found.

    - #### writeEJBHome

          void writeEJBHome(EJBHome ejbHome,
                          ObjectOutputStream ostream)
                            throws IOException

      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` method.

      Parameters:
        `ejbHome` - The EJBHome reference to be serialized.
        `ostream` - The output stream.
      Throws:
        `IOException` - The EJBObject could not be serialized because of a system-level failure.

    - #### readEJBHome

          EJBHome readEJBHome(ObjectInputStream istream)
                              throws IOException,
                                     ClassNotFoundException

      Deserialize the EJBHome reference corresponding to a HomeHandle.

      The `readEJBHome` method 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` method. 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.

      Parameters:
        `istream` - The input stream.
      Returns:
        The deserialized EJBHome reference.
      Throws:
        `IOException` - The EJBHome could not be deserialized because of a system-level failure.
        `ClassNotFoundException` - The EJBHome could not be deserialized because some class could not be found.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.