entire transaction. Below shown APIs are your friends here.
ApplicationModuleImpl::passivateStateForUndo(java.lang.String id, byte clientData, int flags)
ApplicationModuleImpl::activateStateForUndo(java.lang.String id,int flags)
More details can be found in Fusion Developer's Guide - 40.9 Using State Management for Middle-Tier Savepoints. You may need to note down a couple of point here.
1. This approach saves only ADF Model state(in other words , this wouldn't help you to save navigation state/manged bean/memory scope scope variable)
2. Saved state(snapshot) do not survive past duration of transaction
Adding Save Points to a Task Flow
Please note that Oracle ADF provides a declarative approach to working with savepoints, described in Section 18.7, Adding Save Points to a Task Flow. This is different from the approach discussed in this post. In this approach, save point is managed by the ADF Controller. Worth noting the following points associated with 'ADF Controller Save Points' functionality.
2. Saves UI state, ManagedBean state,Navigation State and ADF Model state
3. Can be restored at later stage, sate is persisted in databases.
4. This is useful, if you need to enable this functionality(restoring save point) for a bounded taskflow
You can download the sample workspace from here.
[Runs with Oracle JDeveloper 11g R1 PS2 + HR Schema]
How to run this sample?
Please try running sample-task-flow-definition . Default activity for this taskflow creates the save point by calling passivateStateForUndo(...). The 'Cancel' button in editDept.jspx is mapped to activateStateForUndo method in the ApplicationModule. This method restores the previously saved state.