Package org.datanucleus.state
Class LifeCycleState
- java.lang.Object
-
- org.datanucleus.state.LifeCycleState
-
public abstract class LifeCycleState extends Object
Base Class representing the life cycle state. Implemented for individual states.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DETACHED_CLEAN
Detached-Cleanstatic int
DETACHED_DIRTY
Detached-Dirtystatic int
HOLLOW
Hollowstatic int
ILLEGAL_STATE
illegal stateprotected boolean
isDeleted
protected boolean
isDirty
protected boolean
isNew
protected boolean
isPersistent
protected boolean
isTransactional
static int
P_CLEAN
Persistent-Cleanstatic int
P_DELETED
Persistent-Deletedstatic int
P_DIRTY
Persistent-Dirtystatic int
P_NEW
Persistent-Newstatic int
P_NEW_DELETED
Persistent-New-Deletedstatic int
P_NONTRANS
Persistent-NonTransactionalstatic int
P_NONTRANS_DIRTY
Persistent-NonTransactionalDirtyprotected int
stateType
static int
T_CLEAN
Transaction-Cleanstatic int
T_DIRTY
Transaction-Dirtystatic int
TOTAL
total number of statesstatic int
TRANSIENT
transient
-
Constructor Summary
Constructors Constructor Description LifeCycleState()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected LifeCycleState
changeState(DNStateManager sm, int newStateType)
Utility to change state to a new state.protected LifeCycleState
changeTransientState(DNStateManager sm, int newStateType)
Utility to change state to a new state.boolean
isDeleted()
Return whether the object is deleted.boolean
isDirty()
Return whether the object is dirty, ie has been changed (created, updated, deleted) in this Tx.boolean
isNew()
Return whether the object was newly created.boolean
isPersistent()
Return whether the object is persistent.boolean
isTransactional()
Return whether the object is transactional.int
stateType()
Returns the type of the life cycle stateabstract String
toString()
Method to return a string version of this object.LifeCycleState
transitionAttach(DNStateManager sm)
Method to transition to persistent-clean.LifeCycleState
transitionBegin(DNStateManager sm, Transaction tx)
Method to transition to transaction begin state.LifeCycleState
transitionCommit(DNStateManager sm, Transaction tx)
Method to transition to commit state.LifeCycleState
transitionDeletePersistent(DNStateManager sm)
Method to transition to delete persistent state.LifeCycleState
transitionDetach(DNStateManager sm)
Method to transition to detached-clean.LifeCycleState
transitionEvict(DNStateManager sm)
Method to transition to evict state.LifeCycleState
transitionMakeNontransactional(DNStateManager sm)
Method to transition to nontransactional state.LifeCycleState
transitionMakePersistent(DNStateManager sm)
Method to transition to persistent state.LifeCycleState
transitionMakeTransactional(DNStateManager sm, boolean refreshFields)
Method to transition to transactional state.LifeCycleState
transitionMakeTransient(DNStateManager sm, boolean useFetchPlan, boolean detachAllOnCommit)
Method to transition to transient state.LifeCycleState
transitionReadField(DNStateManager sm, boolean isLoaded)
Method to transition to read-field state.LifeCycleState
transitionRefresh(DNStateManager sm)
Method to transition to refresh state.LifeCycleState
transitionRetrieve(DNStateManager sm, boolean fgOnly)
Method to transition to retrieve state.LifeCycleState
transitionRetrieve(DNStateManager sm, FetchPlan fetchPlan)
Method to transition to retrieve state.LifeCycleState
transitionRollback(DNStateManager sm, Transaction tx)
Method to transition to rollback state.LifeCycleState
transitionSerialize(DNStateManager sm)
Method to transition when serialised.LifeCycleState
transitionWriteField(DNStateManager sm)
Method to transition to write-field state.
-
-
-
Field Detail
-
TRANSIENT
public static final int TRANSIENT
transient- See Also:
- Constant Field Values
-
P_NEW
public static final int P_NEW
Persistent-New- See Also:
- Constant Field Values
-
P_CLEAN
public static final int P_CLEAN
Persistent-Clean- See Also:
- Constant Field Values
-
P_DIRTY
public static final int P_DIRTY
Persistent-Dirty- See Also:
- Constant Field Values
-
HOLLOW
public static final int HOLLOW
Hollow- See Also:
- Constant Field Values
-
T_CLEAN
public static final int T_CLEAN
Transaction-Clean- See Also:
- Constant Field Values
-
T_DIRTY
public static final int T_DIRTY
Transaction-Dirty- See Also:
- Constant Field Values
-
P_NEW_DELETED
public static final int P_NEW_DELETED
Persistent-New-Deleted- See Also:
- Constant Field Values
-
P_DELETED
public static final int P_DELETED
Persistent-Deleted- See Also:
- Constant Field Values
-
P_NONTRANS
public static final int P_NONTRANS
Persistent-NonTransactional- See Also:
- Constant Field Values
-
P_NONTRANS_DIRTY
public static final int P_NONTRANS_DIRTY
Persistent-NonTransactionalDirty- See Also:
- Constant Field Values
-
DETACHED_CLEAN
public static final int DETACHED_CLEAN
Detached-Clean- See Also:
- Constant Field Values
-
DETACHED_DIRTY
public static final int DETACHED_DIRTY
Detached-Dirty- See Also:
- Constant Field Values
-
TOTAL
public static final int TOTAL
total number of states- See Also:
- Constant Field Values
-
ILLEGAL_STATE
public static final int ILLEGAL_STATE
illegal state- See Also:
- Constant Field Values
-
isDirty
protected boolean isDirty
-
isNew
protected boolean isNew
-
isDeleted
protected boolean isDeleted
-
isTransactional
protected boolean isTransactional
-
isPersistent
protected boolean isPersistent
-
stateType
protected int stateType
-
-
Method Detail
-
stateType
public final int stateType()
Returns the type of the life cycle state- Returns:
- the type of this life cycle state
-
changeState
protected final LifeCycleState changeState(DNStateManager sm, int newStateType)
Utility to change state to a new state.- Parameters:
sm
- StateManagernewStateType
- The new state- Returns:
- new LifeCycle state.
-
changeTransientState
protected final LifeCycleState changeTransientState(DNStateManager sm, int newStateType)
Utility to change state to a new state.- Parameters:
sm
- StateManagernewStateType
- The new state- Returns:
- new LifeCycle state.
-
transitionMakePersistent
public LifeCycleState transitionMakePersistent(DNStateManager sm)
Method to transition to persistent state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionDeletePersistent
public LifeCycleState transitionDeletePersistent(DNStateManager sm)
Method to transition to delete persistent state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionMakeTransactional
public LifeCycleState transitionMakeTransactional(DNStateManager sm, boolean refreshFields)
Method to transition to transactional state.- Parameters:
sm
- StateManager.refreshFields
- Whether to refresh loaded fields- Returns:
- new LifeCycle state.
-
transitionMakeNontransactional
public LifeCycleState transitionMakeNontransactional(DNStateManager sm)
Method to transition to nontransactional state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionMakeTransient
public LifeCycleState transitionMakeTransient(DNStateManager sm, boolean useFetchPlan, boolean detachAllOnCommit)
Method to transition to transient state.- Parameters:
sm
- StateManager.useFetchPlan
- to make transient the fields in the fetch plandetachAllOnCommit
- Whether to detach on commit- Returns:
- new LifeCycle state.
-
transitionBegin
public LifeCycleState transitionBegin(DNStateManager sm, Transaction tx)
Method to transition to transaction begin state.- Parameters:
sm
- StateManager.tx
- Transaction.- Returns:
- new LifeCycle state.
-
transitionCommit
public LifeCycleState transitionCommit(DNStateManager sm, Transaction tx)
Method to transition to commit state.- Parameters:
sm
- StateManager.tx
- the Transaction been committed.- Returns:
- new LifeCycle state.
-
transitionRollback
public LifeCycleState transitionRollback(DNStateManager sm, Transaction tx)
Method to transition to rollback state.- Parameters:
sm
- StateManager.tx
- Transaction.- Returns:
- new LifeCycle state.
-
transitionRefresh
public LifeCycleState transitionRefresh(DNStateManager sm)
Method to transition to refresh state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionEvict
public LifeCycleState transitionEvict(DNStateManager sm)
Method to transition to evict state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionReadField
public LifeCycleState transitionReadField(DNStateManager sm, boolean isLoaded)
Method to transition to read-field state.- Parameters:
sm
- StateManager.isLoaded
- if the field was previously loaded- Returns:
- new LifeCycle state.
-
transitionWriteField
public LifeCycleState transitionWriteField(DNStateManager sm)
Method to transition to write-field state.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionRetrieve
public LifeCycleState transitionRetrieve(DNStateManager sm, boolean fgOnly)
Method to transition to retrieve state.- Parameters:
sm
- StateManager.fgOnly
- only retrieve the current fetch group fields- Returns:
- new LifeCycle state.
-
transitionRetrieve
public LifeCycleState transitionRetrieve(DNStateManager sm, FetchPlan fetchPlan)
Method to transition to retrieve state.- Parameters:
sm
- StateManager.fetchPlan
- the fetch plan to load fields- Returns:
- new LifeCycle state.
-
transitionDetach
public LifeCycleState transitionDetach(DNStateManager sm)
Method to transition to detached-clean.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionAttach
public LifeCycleState transitionAttach(DNStateManager sm)
Method to transition to persistent-clean.- Parameters:
sm
- StateManager.- Returns:
- new LifeCycle state.
-
transitionSerialize
public LifeCycleState transitionSerialize(DNStateManager sm)
Method to transition when serialised.- Parameters:
sm
- StateManager- Returns:
- The new LifeCycle state
-
isDirty
public final boolean isDirty()
Return whether the object is dirty, ie has been changed (created, updated, deleted) in this Tx.- Returns:
- Whether the object is dirty.
-
isNew
public final boolean isNew()
Return whether the object was newly created.- Returns:
- Whether the object is new.
-
isDeleted
public final boolean isDeleted()
Return whether the object is deleted.- Returns:
- Whether the object is deleted.
-
isTransactional
public final boolean isTransactional()
Return whether the object is transactional.- Returns:
- Whether the object is transactional.
-
isPersistent
public final boolean isPersistent()
Return whether the object is persistent.- Returns:
- Whether the object is persistent.
-
-