State Transitions
|
method \ current state
|
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
retainValues=false
|
unchanged
|
Hollow
|
Hollow
|
Hollow
|
unchanged
|
|
commit
retainValues=true
|
unchanged
|
P-nontrans
|
P-nontrans
|
P-nontrans
|
unchanged
|
|
commit
DetachAllOnCommit true
|
unchanged
|
detached-clean
|
detached-clean
|
detached-clean
|
detached-clean
|
|
rollback
restoreValues=false
|
unchanged
|
Transient
|
Hollow
|
Hollow
|
unchanged
|
|
rollback
restoreValues=true
|
unchanged
|
Transient
|
P-nontrans
|
P-nontrans
|
unchanged
|
|
refresh with active Datastore transaction
|
unchanged
|
unchanged
|
unchanged
|
P-clean
|
unchanged
|
|
refresh with active Optimistic transaction
|
unchanged
|
unchanged
|
unchanged
|
P-nontrans
|
unchanged
|
|
evict
|
n/a
|
unchanged
|
Hollow
|
unchanged
|
unchanged
|
|
read field outside transaction
|
unchanged
|
impossible
|
impossible
|
impossible
|
P-nontrans
|
|
read field with active Optimistic transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-nontrans
|
|
read field with active Datastore transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-clean
|
|
write field or makeDirty outside transaction
|
unchanged
|
impossible
|
impossible
|
impossible
|
P-nontrans
|
|
write field or makeDirty with active transaction
|
unchanged
|
unchanged
|
P-dirty
|
unchanged
|
P-dirty
|
|
retrieve outside or with active Optimistic transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-nontrans
|
|
retrieve with active Datastore transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-clean
|
|
detachCopy outside transaction with NontransactionalRead true
|
error
|
impossible
|
impossible
|
impossible
|
parameter: P-nontrans
returned: detached-clean
|
|
detachCopy outside transaction with NontransactionalRead false
|
error
|
impossible
|
impossible
|
impossible
|
error
|
|
detachCopy with active Optimistic transaction
|
parameter: P-new
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: P-nontrans
returned:
detached-clean
|
|
detachCopy with active Datastore transaction
|
parameter: P-new
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: unchanged
returned:
detached-clean
|
parameter: P-clean
returned:
detached-clean
|
|
method \ current state
|
T-clean
|
T-dirty
|
P-new-del
|
P-del
|
P-nontrans
|
|
makePersistent
|
P-new
|
P-new
|
unchanged
|
unchanged
|
unchanged
|
|
deletePersistent
|
error
|
error
|
unchanged
|
unchanged
|
P-del
|
|
makeTransactional
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-clean
|
|
makeNontransactional
|
Transient
|
error
|
error
|
error
|
unchanged
|
|
makeTransient
|
unchanged
|
unchanged
|
error
|
error
|
Transient
|
|
commit
retainValues=false
|
unchanged
|
T-clean
|
Transient
|
Transient
|
unchanged
|
|
commit
retainValues=true
|
unchanged
|
T-clean
|
Transient
|
Transient
|
unchanged
|
|
commit transaction with DetachAllOnCommit true
|
unchanged
|
T-clean
|
Transient
|
Transient
|
detached-clean
|
|
rollback
restoreValues=false
|
unchanged
|
T-clean
|
Transient
|
Hollow
|
unchanged
|
|
rollback
restoreValues=true
|
unchanged
|
T-clean
|
Transient
|
P-nontrans
|
unchanged
|
|
refresh
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
|
evict
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
Hollow
|
|
read field outside transaction
|
unchanged
|
impossible
|
impossible
|
impossible
|
unchanged
|
|
read field with Optimistic transaction
|
unchanged
|
unchanged
|
error
|
error
|
unchanged
|
|
read field with active Datastore transaction
|
unchanged
|
unchanged
|
error
|
error
|
P-clean
|
|
write field or makeDirty outside transaction
|
unchanged
|
impossible
|
impossible
|
impossible
|
unchanged
|
|
write field or makeDirty with active transaction
|
T-dirty
|
unchanged
|
error
|
error
|
P-dirty
|
|
retrieve outside or with active Optimistic transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
|
retrieve with active Datastore transaction
|
unchanged
|
unchanged
|
unchanged
|
unchanged
|
P-clean
|
|
detachCopy outside transaction with NontransactionalRead true
|
error
|
impossible
|
impossible
|
impossible
|
parameter: unchanged
returned: detached-clean
|
|
detachCopy outside transaction with NontransactionalRead false
|
error
|
impossible
|
impossible
|
impossible
|
error
|
|
detachCopy with active optimistic transaction
|
parameter: P-new
returned:
detached-clean
|
parameter: P-new
returned:
detached-clean
|
error
|
error
|
parameter: unchanged
returned:
detached-clean
|
|
detachCopy with active datastore transaction
|
parameter: P-new
returned:
detached-clean
|
parameter: P-new
returned:
detached-clean
|
error
|
error
|
parameter: P-clean
returned:
detached-clean
|
|
method \ current state
|
P-nontrans-dirty
|
detached-clean
|
detached-dirty
|
|
makePersistent
|
unchanged
|
parameter: unchanged
returned:
P-clean
|
parameter: unchanged
returned:
P-dirty
|
|
deletePersistent
|
error
|
unchanged
|
unchanged
|
|
makeTransactional
|
unchanged
|
error
|
error
|
|
makeNontransactional
|
error
|
error
|
error
|
|
makeTransient
|
error
|
error
|
error
|
|
commit with
retainValues=false
|
hollow
|
unchanged
|
unchanged
|
|
commit with
retainValues=true
|
P-nontrans
|
unchanged
|
unchanged
|
|
rollback
|
unchanged
|
unchanged
|
unchanged
|
|
refresh
|
unchanged
|
error
|
error
|
|
evict
|
hollow
|
error
|
error
|
|
read field
|
unchanged
|
unchanged
|
unchanged
|
|
write field or makeDirty
|
unchanged
|
detached-dirty
|
unchanged
|
|
retrieve
|
unchanged
|
error
|
error
|
|
commit transaction with DetachAllOnCommit true
|
detached
|
unchanged
|
unchanged
|
|
detachCopy outside transaction with NontransactionalRead true
|
unspecified
|
parameter: unchanged
returned: detached-clean
|
unspecified
|
|
detachCopy outside transaction with NontransactionalRead false
|
error
|
error
|
error
|
|
detachCopy with active transaction
|
impossible
|
parameter: unchanged
returned: detached-clean
|
parameter: unchanged
returned: detached-clean
|