com.ibm.bpe.api

Class ClientObjectWrapper

  • java.lang.Object
    • com.ibm.bpe.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 and variables passed between the caller and the process engine.

    When the process engine is accessed through its EJB interface:

    • Invocation parameters are automatically deserialized by the application server.
    • Messages and variables are deserialized before the process engine sets the appropriate class loader.
    The ClientObjectWrapper class defers deserialization until the wrapped message or variable is accessed. This allows the process engine to set the appropriate class loader.
    Since:
    5.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String COPYRIGHT 
    • Constructor Summary

      Constructors 
      Constructor and Description
      ClientObjectWrapper()
      Default constructor needed by deserialization.
      ClientObjectWrapper(java.lang.Object object)
      Constructor that stores the passed object, the message.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      java.lang.Object clone()
      Creates and returns a copy of this object.
      static ClientObjectWrapper fromByteArray(byte[] buffer, boolean unwrapSimpleTypes)
      Factory method that creates a ClientObjectWrapper from a byte array.
      java.lang.Object getObject()
      Returns the wrapped object, the message.
      java.lang.Object getObject(boolean unwrapSimpleTypes)
      Returns the wrapped object, the message.
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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,
                                        boolean unwrapSimpleTypes)
        Factory method that creates a ClientObjectWrapper from a byte array.
        Parameters:
        buffer - The serialized object to wrap.
        unwrapSimpleTypes - true in simple type wrapper used by the REST API will be unwrapped; false otherwise.
        Returns:
        A ClientObjectWrapper object.
      • getObject

        public java.lang.Object getObject()
                                   throws ProcessException
        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:
        ProcessException - if an error occurrs during deserialization of the object.
      • getObject

        public java.lang.Object getObject(boolean unwrapSimpleTypes)
                                   throws ProcessException
        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.

        Parameters:
        unwrapSimpleTypes - true if the DataObject will be unwrapped in case it's a simple type; false otherwise.
        Returns:
        The wrapped object.
        Throws:
        ProcessException - 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
IBM Business Process ManagerTM
Release 8