Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| jBPM distribution 6.0.0.CR2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jbpm.marshalling.impl
Class ProcessInstanceResolverStrategy

    java.lang.Object
      org.jbpm.marshalling.impl.ProcessInstanceResolverStrategy

All Implemented Interfaces:
  ObjectMarshallingStrategy

    public class ProcessInstanceResolverStrategy

extends Object
implements ObjectMarshallingStrategy

When using this strategy, knowledge session de/marshalling process will make sure that the processInstance is not serialized as a part of the the session/network.

Instead, this strategy, which may only be used for `ProcessInstance` objects, saves the process instance in the `ProcessInstanceManager`, and later retrieves it from there. If you're doing tricky things with serialization and persistence, please make sure to remember that the `ProcessInstanceManager` cache of process instances is emptied at the end of every transaction (commit).

Nested Class Summary

Nested classes/interfaces inherited from interface org.kie.api.marshalling.ObjectMarshallingStrategy
`ObjectMarshallingStrategy.Context`

Constructor Summary
`ProcessInstanceResolverStrategy()`

Method Summary
`boolean` | `accept(Object object)`
`ObjectMarshallingStrategy.Context` | `createContext()` Creates a new marshalling context
`byte[]` | `marshal(ObjectMarshallingStrategy.Context context, ObjectOutputStream os, Object object)` This method is analogous to the write() method, but instead of writing the object into an output stream, it returns the marshalled object as a byte[].
`Object` | `read(ObjectInputStream is)`
`static org.drools.core.common.InternalKnowledgeRuntime` | `retrieveKnowledgeRuntime(Object streamContext)` Retrieve the `ProcessInstanceManager` object from the ObjectOutput- or ObjectInputStream.
`static ProcessInstanceManager` | `retrieveProcessInstanceManager(Object streamContext)` Retrieve the `ProcessInstanceManager` object from the ObjectOutput- or ObjectInputStream.
`Object` | `unmarshal(ObjectMarshallingStrategy.Context context, ObjectInputStream is, byte[] object, ClassLoader classloader)` This method is analogous to the read method, but instead of reading it from an input stream, it reads it from a byte[]
`void` | `write(ObjectOutputStream os, Object object)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ProcessInstanceResolverStrategy

    public ProcessInstanceResolverStrategy()

Method Detail

### accept

    public boolean accept(Object object)

  Specified by:
    `accept` in interface `ObjectMarshallingStrategy`

### write

    public void write(ObjectOutputStream os,
                      Object object)
               throws IOException

  Specified by:
    `write` in interface `ObjectMarshallingStrategy`
  Throws:
    `IOException`

### read

    public Object read(ObjectInputStream is)
                throws IOException,
                       ClassNotFoundException

  Specified by:
    `read` in interface `ObjectMarshallingStrategy`
  Throws:
    `IOException`
    `ClassNotFoundException`

### retrieveProcessInstanceManager

    public static ProcessInstanceManager retrieveProcessInstanceManager(Object streamContext)

  Retrieve the `ProcessInstanceManager` object from the ObjectOutput- or ObjectInputStream. The stream object will secretly also either be a `MarshallerReaderContext` or a `MarshallerWriteContext`.

  Parameters:
    `streamContext` - The marshaller stream/context.
  Returns:
    A `ProcessInstanceManager` object.

### retrieveKnowledgeRuntime

    public static org.drools.core.common.InternalKnowledgeRuntime retrieveKnowledgeRuntime(Object streamContext)

  Retrieve the `ProcessInstanceManager` object from the ObjectOutput- or ObjectInputStream. The stream object will secretly also either be a `MarshallerReaderContext` or a `MarshallerWriteContext`. The knowledge runtime object is useful in order to reconnect the process instance to the process and the knowledge runtime object.

  Parameters:
    `streamContext` - The marshaller stream/context.
  Returns:
    A `InternalKnowledgeRuntime` object.

### marshal

    public byte[] marshal(ObjectMarshallingStrategy.Context context,
                          ObjectOutputStream os,
                          Object object)
                   throws IOException

  Description copied from interface: `ObjectMarshallingStrategy`
  This method is analogous to the write() method, but instead of writing the object into an output stream, it returns the marshalled object as a byte[].

  Specified by:
    `marshal` in interface `ObjectMarshallingStrategy`
  Parameters:
    `context` - the context for this strategy created by the method #createContext()
    `object` - the object to be marshalled
  Returns:
    the marshalled byte[] of the input object
  Throws:
    `IOException`

### unmarshal

    public Object unmarshal(ObjectMarshallingStrategy.Context context,
                            ObjectInputStream is,
                            byte[] object,
                            ClassLoader classloader)
                     throws IOException,
                            ClassNotFoundException

  Description copied from interface: `ObjectMarshallingStrategy`
  This method is analogous to the read method, but instead of reading it from an input stream, it reads it from a byte[]

  Specified by:
    `unmarshal` in interface `ObjectMarshallingStrategy`
  Parameters:
    `context` - the context for this strategy created by the method #createContext()
    `object` - the marshalled object in a byte[]
  Returns:
    the unmarshalled Object
  Throws:
    `IOException`
    `ClassNotFoundException`

### createContext

    public ObjectMarshallingStrategy.Context createContext()

  Description copied from interface: `ObjectMarshallingStrategy`
  Creates a new marshalling context

  Specified by:
    `createContext` in interface `ObjectMarshallingStrategy`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| jBPM distribution 6.0.0.CR2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.