pluf/workflow

View on GitHub
src/StateContext.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php
namespace Pluf\Workflow;

/**
 * Context of an state
 *
 * @author maso
 *        
 */
interface StateContext
{

    /**
     *
     * @return StateMachine current state machine object
     */
    public function getStateMachine(): StateMachine;

    /**
     *
     * @return StateMachineData state machine data
     */
    public function getStateMachineData(): StateMachineData;

    /**
     *
     * @return ImmutableState source state of state machine
     */
    public function getSourceState(): ImmutableState;

    /**
     *
     * @return mixed external context object
     */
    public function getContext();

    /**
     *
     * @return mixed event
     */
    public function getEvent();

    /**
     *
     * @return TransitionResult transition result
     */
    public function getResult(): TransitionResult;

    /**
     *
     * @return action executor
     */
    public function getExecutor(): ActionExecutionService;
}