alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext Class Reference

Collaboration diagram for alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AlmaSubsystemContext (AlmaSubsystemActions actions, AcsLogger logger, ThreadFactory threadFactory)
synchronized void addAcsStateChangeListener (AcsStateChangeListener listener)
synchronized
AlmaSubsystemStateAbstract 
getCurrentTopLevelState ()
synchronized void initPass1 () throws AcsJIllegalStateEventEx
synchronized void initPass2 () throws AcsJIllegalStateEventEx
synchronized void reinit () throws AcsJIllegalStateEventEx
synchronized void start () throws AcsJIllegalStateEventEx
synchronized void stop () throws AcsJIllegalStateEventEx
synchronized void shutdownPass1 () throws AcsJIllegalStateEventEx
synchronized void shutdownPass2 () throws AcsJIllegalStateEventEx
synchronized void error () throws AcsJIllegalStateEventEx
void initSubsysPass1 () throws AcsStateActionException
void initSubsysPass2 () throws AcsStateActionException
void reinitSubsystem () throws AcsStateActionException
void shutDownSubsysPass1 () throws AcsStateActionException
void shutDownSubsysPass2 () throws AcsStateActionException
void cleanUp ()

Public Attributes

AvailableState m_stateAvailable
ErrorState m_stateError
OnlineState m_stateOnline
OperationalState m_stateOperational
OfflineState m_stateOffline
ShutdownState m_stateShutdown
ShuttingdownPass1State m_stateShuttingdownPass1
InitializingPass2State m_stateInitializingPass2
InitializingPass1State m_stateInitializingPass1
ReinitializingState m_stateReinitializing
PreInitializedState m_statePreInitialized
PreShutdownState m_statePreShutdown
ShuttingdownPass2State m_stateShuttingdownPass2

Package Functions

void setState (AlmaSubsystemStateAbstract newState, String eventName)
void illegalEvent (String stateName, String eventName) throws AcsJIllegalStateEventEx
void logTransition (AcsState sourceState, AcsState targetState, String eventName)
ThreadPoolExecutor getSharedActivityExecutor ()

Private Attributes

AlmaSubsystemStateAbstract m_currentState
final AlmaSubsystemActions m_actionDelegate
List< AcsStateChangeListenerm_stateChangeListeners
AcsState[] m_oldHierarchy
final AcsLogger m_logger
final ThreadPoolExecutor sharedActivityExecutor
boolean m_verbose = false

Detailed Description

The super context class for the AlmaSubsystem state machine.


Constructor & Destructor Documentation

alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::AlmaSubsystemContext ( AlmaSubsystemActions  actions,
AcsLogger  logger,
ThreadFactory  threadFactory 
) [inline]

Member Function Documentation

synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::addAcsStateChangeListener ( AcsStateChangeListener  listener  )  [inline]

Registers an object that will be notified about any state change in this state machine.

Parameters:
listener 

References m_stateChangeListeners.

Referenced by alma::ACS::MasterComponentImpl::MasterComponentImplBase::initialize(), and alma::ACS::MasterComponentImpl::statemachine::StateMachineTest::setUp().

void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::cleanUp (  )  [inline]

Final clean-up, must be called before unloading this class. Afterwards it may be in an undefined state.

References sharedActivityExecutor.

Referenced by alma::ACS::MasterComponentImpl::MasterComponentImplBase::cleanUp().

synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::error (  )  throws AcsJIllegalStateEventEx [inline]
synchronized AlmaSubsystemStateAbstract alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::getCurrentTopLevelState (  )  [inline]
ThreadPoolExecutor alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::getSharedActivityExecutor (  )  [inline, package]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::illegalEvent ( String  stateName,
String  eventName 
) throws AcsJIllegalStateEventEx [inline, package]

References m_logger, m_verbose, alma::ACSErrTypeCommon::wrappers::AcsJIllegalStateEventEx::setEvent(), and alma::ACSErrTypeCommon::wrappers::AcsJIllegalStateEventEx::setState().

Referenced by alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::error(), alma::ACS::MasterComponentImpl::statemachine::OfflineSubStateAbstract::initPass1(), alma::ACS::MasterComponentImpl::statemachine::AvailableSubStateAbstract::initPass1(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::initPass1(), alma::ACS::MasterComponentImpl::statemachine::OfflineSubStateAbstract::initPass2(), alma::ACS::MasterComponentImpl::statemachine::AvailableSubStateAbstract::initPass2(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::initPass2(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::reinit(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::shutdownPass1(), alma::ACS::MasterComponentImpl::statemachine::OfflineSubStateAbstract::shutdownPass2(), alma::ACS::MasterComponentImpl::statemachine::AvailableSubStateAbstract::shutdownPass2(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::shutdownPass2(), alma::ACS::MasterComponentImpl::statemachine::AvailableSubStateAbstract::start(), alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::start(), alma::ACS::MasterComponentImpl::statemachine::AvailableSubStateAbstract::stop(), and alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemStateAbstract::stop().

synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::initPass1 (  )  throws AcsJIllegalStateEventEx [inline]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::initPass2 (  )  throws AcsJIllegalStateEventEx [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::initSubsysPass1 (  )  throws AcsStateActionException [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::initSubsysPass2 (  )  throws AcsStateActionException [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::logTransition ( AcsState  sourceState,
AcsState  targetState,
String  eventName 
) [inline, package]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::reinit (  )  throws AcsJIllegalStateEventEx [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::reinitSubsystem (  )  throws AcsStateActionException [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::setState ( AlmaSubsystemStateAbstract  newState,
String  eventName 
) [inline, package]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::shutdownPass1 (  )  throws AcsJIllegalStateEventEx [inline]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::shutdownPass2 (  )  throws AcsJIllegalStateEventEx [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::shutDownSubsysPass1 (  )  throws AcsStateActionException [inline]
void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::shutDownSubsysPass2 (  )  throws AcsStateActionException [inline]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::start (  )  throws AcsJIllegalStateEventEx [inline]
synchronized void alma::ACS::MasterComponentImpl::statemachine::AlmaSubsystemContext::stop (  )  throws AcsJIllegalStateEventEx [inline]

Member Data Documentation

Referenced by AlmaSubsystemContext(), and setState().

Referenced by AlmaSubsystemContext().

Referenced by AlmaSubsystemContext().

Referenced by illegalEvent(), and logTransition().

Executor for do/ actions in activity states. This executor only has one worker thread and therefore synchronizes concurrent requests. : Discuss if and how we want to escape from a hanging action method. Both timeout and asynchronous actions pose ugly implementation issues for the subsystem MCs.

Referenced by AlmaSubsystemContext(), cleanUp(), and getSharedActivityExecutor().


The documentation for this class was generated from the following file:

Generated by  doxygen 1.6.2