Class StateManager

java.lang.Object
com.nt.udc.util.state.StateManager
Direct Known Subclasses:
AsynchronousStateManager, SynchronousStateManager

public abstract class StateManager extends Object
The StateManager is responsible for holding a set of StateDirectorySaveable or StateBufferSaveable Objects, and saving/restoring those Objects when told to.
  • Field Details

    • stateDirObjArray

      protected StateDirectorySaveable[] stateDirObjArray
    • stateBufferObjArray

      protected StateBufferSaveable[] stateBufferObjArray
    • activeObjArray

      protected StateFreezable[] activeObjArray
    • activeObjListenersArray

      protected int[] activeObjListenersArray
    • stateBufferFileName

      protected String stateBufferFileName
    • logger

      protected LoggerIfc logger
    • scratchDir

      protected File scratchDir
    • baseStateDir

      protected File baseStateDir
  • Constructor Details

    • StateManager

      public StateManager(LoggerIfc logger, File scratchDir)
      Creates the default StateManager
      Parameters:
      logger - Activity logger
      scratchDir - Directory which to store state data
    • StateManager

      public StateManager(LoggerIfc logger, File scratchDir, String stateBufferFileName)
      Creates the StateManager with a buffer file.
      Parameters:
      logger - Activity logger
      scratchDir - Directory which to store state data.
      stateBufferFileName - Buffer File name
  • Method Details

    • shutdown

      public void shutdown()
      Shuts down the StateManager, and cleans up any remaining state-related files.
    • setStateBufferFileName

      public void setStateBufferFileName(String stateBufferFileName)
      Sets the current state buffer file.
      Parameters:
      stateBufferFileName - Buffer file, containing the states.
    • manageState

      public void manageState(StateBufferSaveable state)
      Adds a single StateBufferSaveable object to be managed.
      Parameters:
      stateDirObj - State object to manage
    • manageState

      public void manageState(StateDirectorySaveable state)
      Adds a single StateDirectorySaveable object to be managed.
      Parameters:
      stateDirObj - State object to manage
    • manageStates

      public void manageStates(StateBufferSaveable[] states)
      Adds an array of StateBufferSaveable objects for managing.
      Parameters:
      states - Array of state objects
    • manageStates

      public void manageStates(StateDirectorySaveable[] states)
      Adds an array of StateDirectorySaveable objects for managing.
      Parameters:
      states - Array of state objects
    • manageActiveObject

      public void manageActiveObject(StateFreezable activeObject)
      Manages a single active Object. This Object will be told to freeze before all state saving routines occur. Note that using this method implies that there are **NO** order dependencies related to the given Object.
      Parameters:
      activeObject - Object to be frozen during state save
    • getType

      public abstract StateManagementType getType()
      Returns this type of StateManager.
    • saveState

      public abstract void saveState(Callback callback) throws StateException
      This method requests a save state from the StateSaver. (Where applicable)
      Throws:
      StateException
    • saveState

      public abstract void saveState() throws StateException
      This method saves the state.
      Throws:
      StateException
    • restoreState

      public abstract void restoreState() throws StateException
      Restores the state of the system.
      Throws:
      StateException