Example usage for org.springframework.statemachine.config.model StateMachineModel getStatesData

List of usage examples for org.springframework.statemachine.config.model StateMachineModel getStatesData

Introduction

In this page you can find the example usage for org.springframework.statemachine.config.model StateMachineModel getStatesData.

Prototype

public abstract StatesData<S, E> getStatesData();

Source Link

Document

Gets the states config data.

Usage

From source file:org.springframework.statemachine.config.AbstractStateMachineFactory.java

protected StateMachineModel<S, E> resolveStateMachineModel(String machineId) {
    if (stateMachineModelFactory == null) {
        return defaultStateMachineModel;
    } else {/*from   ww w.ja  v  a2  s . co  m*/
        StateMachineModel<S, E> m = stateMachineModelFactory.build(machineId);
        if (m.getConfigurationData() == null) {
            // if model doesn't have explicit configuration data,
            // get it from default model
            return new DefaultStateMachineModel<>(defaultStateMachineModel.getConfigurationData(),
                    m.getStatesData(), m.getTransitionsData());
        } else {
            return m;
        }
    }
}

From source file:org.springframework.statemachine.config.AbstractStateMachineFactory.java

private Iterator<Node<StateData<S, E>>> buildStateDataIterator(StateMachineModel<S, E> stateMachineModel) {
    Tree<StateData<S, E>> tree = new Tree<StateData<S, E>>();
    treeAdd(tree, stateMachineModel.getStatesData().getStateData());
    return new TreeTraverser<Node<StateData<S, E>>>() {
        @Override//from   w  w  w  .j  a  va  2  s.  c  o  m
        public Iterable<Node<StateData<S, E>>> children(Node<StateData<S, E>> root) {
            return root.getChildren();
        }
    }.postOrderTraversal(tree.getRoot()).iterator();
}