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 Details

    • TRANSIENT

      public static final int TRANSIENT
      transient
      See Also:
    • P_NEW

      public static final int P_NEW
      Persistent-New
      See Also:
    • P_CLEAN

      public static final int P_CLEAN
      Persistent-Clean
      See Also:
    • P_DIRTY

      public static final int P_DIRTY
      Persistent-Dirty
      See Also:
    • HOLLOW

      public static final int HOLLOW
      Hollow
      See Also:
    • T_CLEAN

      public static final int T_CLEAN
      Transaction-Clean
      See Also:
    • T_DIRTY

      public static final int T_DIRTY
      Transaction-Dirty
      See Also:
    • P_NEW_DELETED

      public static final int P_NEW_DELETED
      Persistent-New-Deleted
      See Also:
    • P_DELETED

      public static final int P_DELETED
      Persistent-Deleted
      See Also:
    • P_NONTRANS

      public static final int P_NONTRANS
      Persistent-NonTransactional
      See Also:
    • P_NONTRANS_DIRTY

      public static final int P_NONTRANS_DIRTY
      Persistent-NonTransactionalDirty
      See Also:
    • DETACHED_CLEAN

      public static final int DETACHED_CLEAN
      Detached-Clean
      See Also:
    • DETACHED_DIRTY

      public static final int DETACHED_DIRTY
      Detached-Dirty
      See Also:
    • TOTAL

      public static final int TOTAL
      total number of states
      See Also:
    • ILLEGAL_STATE

      public static final int ILLEGAL_STATE
      illegal state
      See Also:
    • isDirty

      protected boolean isDirty
    • isNew

      protected boolean isNew
    • isDeleted

      protected boolean isDeleted
    • isTransactional

      protected boolean isTransactional
    • isPersistent

      protected boolean isPersistent
    • stateType

      protected int stateType
  • Constructor Details

    • LifeCycleState

      public LifeCycleState()
  • Method Details

    • 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 - StateManager
      newStateType - 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 - StateManager
      newStateType - 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 plan
      detachAllOnCommit - 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.
    • toString

      public abstract String toString()
      Method to return a string version of this object.
      Overrides:
      toString in class Object
      Returns:
      String version of the object.