All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.squirrelframework.foundation.fsm.impl.StateContextImpl Maven / Gradle / Ivy

package org.squirrelframework.foundation.fsm.impl;

import org.squirrelframework.foundation.fsm.*;

class StateContextImpl, S, E, C> implements StateContext {
    private final StateMachine stateMachine;
    private final StateMachineData stateMachineData;
    private final ImmutableState sourceState;
    private final C context;
    private final E event;
    private final TransitionResult result;
    private final ActionExecutionService executor;
    
    StateContextImpl(StateMachine stateMachine, StateMachineData stateMachineData,
            ImmutableState sourceState, E event, C context, 
            TransitionResult result, ActionExecutionService executor) {
        this.stateMachine = stateMachine;
        this.stateMachineData = stateMachineData;
        this.sourceState = sourceState;
        this.event = event;
        this.context = context;
        this.result = result;
        this.executor = executor;
    }
    
    @Override
    public StateMachine getStateMachine() {
        return stateMachine;
    }

    @Override
    public ImmutableState getSourceState() {
        return sourceState;
    }

    @Override
    public C getContext() {
        return context;
    }

    @Override
    public E getEvent() {
        return event;
    }
    
    @Override
    public TransitionResult getResult() {
        return result;
    }

    @Override
    public ActionExecutionService getExecutor() {
        return executor;
    }

    @Override
    public StateMachineData getStateMachineData() {
        return stateMachineData;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy