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

ru.yandex.qatools.fsm.Yatomata Maven / Gradle / Ivy

There is a newer version: 1.11
Show newest version
package ru.yandex.qatools.fsm;

/**
 * @author Ilya Sadykov
 */
public interface Yatomata {

    /**
     * Builder to build the fsm instance
     */
    interface Builder {
        /**
         * Build the fsm with the defined initial state
         */
        Yatomata build(Object state);

        /**
         * Build th fsm with the default initial state
         */
        Yatomata build();
    }

    /**
     * Fires new event into the state machine
     */
    Object fire(Object event);

    /**
     * Returns the internal FSM instance
     */
    T getFSM();

    /**
     * Returns the internal FSM class
     */
    Class getFSMClass();

    /**
     * Returns the current state for the FSM
     */
    Object getCurrentState();

    /**
     * Checks if the FSM is already completed
     */
    boolean isCompleted();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy