izzum\statemachine\StateMachine::getStates PHP Method

getStates() public method

All known/loaded states for this statemachine
public getStates ( ) : State[]
return State[]
    public function getStates()
    {
        return $this->states;
    }

Usage Example

 /**
  * Checks a fully loaded statemachine for a valid configuration.
  *
  * This is useful in a debug situation so you can check for the validity of
  * rules, commands and callables in guard logic, transition logic and state entry/exit logic
  * before they hit a
  *
  * This does not instantiate any objects. It just checks if callables can be found
  * and if classes for rules and commands can be found
  *
  * @param StateMachine $machine
  * @return Exception[] an array of exceptions if anything is wrong with the configuration
  */
 public static function checkConfiguration(StateMachine $machine)
 {
     //TODO: also check the rules and commands
     $exceptions = array();
     $output = array();
     //check state callables
     foreach ($machine->getStates() as $state) {
         $exceptions[] = self::getExceptionForCheckingCallable($state->getExitCallable(), State::CALLABLE_ENTRY, $state);
         $exceptions[] = self::getExceptionForCheckingCallable($state->getEntryCallable(), State::CALLABLE_ENTRY, $state);
     }
     //check transition callables
     foreach ($machine->getTransitions() as $transition) {
         $exceptions[] = self::getExceptionForCheckingCallable($transition->getGuardCallable(), Transition::CALLABLE_GUARD, $transition);
         $exceptions[] = self::getExceptionForCheckingCallable($transition->getTransitionCallable(), Transition::CALLABLE_TRANSITION, $transition);
     }
     //get the exceptions
     foreach ($exceptions as $e) {
         if (is_a($e, '\\Exception')) {
             $output[] = $e;
         }
     }
     return $output;
 }
All Usage Examples Of izzum\statemachine\StateMachine::getStates