Appendix A. Lifecycle States and Transitions
Table A-1 specifies
the values returned by the JDOHelper
lifecycle state interrogation methods for all the JDO lifecycle
states.
Table A-1. Lifecycle-state interrogation methods
State of instance | isPersistent( ) | isTransactional( ) | isDirty( ) | isNew( ) | isDeleted( ) |
|---|---|---|---|---|---|
Transient | false | false | false | false | false |
Transient-clean | false | true | false | false | false |
Transient-dirty | false | true | true | false | false |
Hollow | true | false | false | false | false |
Persistent-nontransactional | true | false | false | false | false |
Persistent-new | true | true | true | true | false |
Persistent-clean | true | true | false | false | false |
Persistent-dirty | true | true | true | false | false |
Persistent-deleted | true | true | true | false | true |
Persistent-new-deleted | true | true | true | true | true |
Table A-2 and Table A-3 contain the state transitions for every lifecycle state.
Table A-2. Lifecycle-state transitions
Current state | |||||
|---|---|---|---|---|---|
Method | Transient | P-new | P-clean | P-dirty | Hollow |
makePersistent | P-new | unchanged | unchanged | unchanged | unchanged |
deletePersistent | error | P-new-del | P-del | P-del | P-del |
makeTransactional | T-clean | unchanged | unchanged | unchanged | P-clean |
makeNontransactional | error | error | P-nontrans | error | unchanged |
makeTransient | unchanged | error | Transient | error | Transient |
commit withRetainValues = false | unchanged | Hollow | Hollow | Hollow | unchanged |
commit withRetainValues = true | unchanged | P-nontrans | P-nontrans | P-nontrans | unchanged |
rollback with RestoreValues = false | unchanged | Transient | Hollow | Hollow | unchanged |
rollback with RestoreValues = true | unchanged | Transient | P-nontrans | P-nontrans | unchanged |
refresh with active datastore transaction | unchanged ... | ||||
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access