Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| jBPM distribution 6.1.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. Should a process instance be completed or aborted, it will be restored as an empty RuleFlowProcessInstance with correct id and state completed, yet no internal details. 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.1.0.CR2
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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