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 ...

Get Java Data Objects now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.