com.ibm.task.api
Class ClientObjectWrapper

java.lang.Object
  extended by com.ibm.task.api.ClientObjectWrapper
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public final class ClientObjectWrapper
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Wraps messages passed between the caller and the Human Task Manager.

When the Human Task Manager is accessed through its EJB interface, then

The ClientObjectWrapper wraps messages and thus defers their deserialization until the wrapped message is accessed. This allows the Human Task Manager to set the appropriate class loader.

Since:
5.1
See Also:
Serialized Form

Field Summary
static java.lang.String COPYRIGHT
           
 
Constructor Summary
ClientObjectWrapper()
          Default constructor needed by deserialization.
ClientObjectWrapper(java.lang.Object object)
          Constructor that stores the passed object, the message.
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of this object.
static ClientObjectWrapper fromByteArray(byte[] buffer)
          Factory method that creates a ClientObjectWrapper from a byte array.
 java.lang.Object getObject()
          Returns the wrapped object, the message.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

COPYRIGHT

public static final java.lang.String COPYRIGHT
See Also:
Constant Field Values
Constructor Detail

ClientObjectWrapper

public ClientObjectWrapper()
Default constructor needed by deserialization. Sets the wrapped object to null.


ClientObjectWrapper

public ClientObjectWrapper(java.lang.Object object)
Constructor that stores the passed object, the message.

Parameters:
object - The object to wrap. When the ClientObjectWrapper object is used as an EJB parameter or as an EJB return value, then object must implement java.io.Serializable.
Method Detail

fromByteArray

public static ClientObjectWrapper fromByteArray(byte[] buffer)
Factory method that creates a ClientObjectWrapper from a byte array.

Parameters:
buffer - The serialized object to wrap.
Returns:
A ClientObjectWrapper object.

getObject

public java.lang.Object getObject()
                           throws TaskException
Returns the wrapped object, the message.

If the ClientObjectWrapper object has been serialized, then deserialized and this is the first time the wrapped object is accessed, the wrapped object is deserialized before it is returned. If the ClientObjectWrapper has never been serialized, or the wrapped object has been accessed before, the wrapped object is returned without deserialization.

Returns:
The wrapped object.
Throws:
TaskException - if an error occurrs during deserialization of the object.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Creates and returns a copy of this object.

The meaning of "copy" depends on the class of the object. Generally, for any object x, the expression:

 x.clone() != x
is true, and the expression:
 x.clone().getClass() == x.getClass()
is true.

Overrides:
clone in class java.lang.Object
Returns:
A clone of this object.
Throws:
java.lang.CloneNotSupportedException - if the object's class does not support the Cloneable interface.
See Also:
java.lang.Cloneable