org.squirrelframework.foundation.fsm
Class StateMachineBuilderFactory

java.lang.Object
  extended by org.squirrelframework.foundation.fsm.StateMachineBuilderFactory

public class StateMachineBuilderFactory
extends Object

State machine builder factory to create the state machine builder. Here we use SquirrelProvider to create the builder, so user can register different implementation class of StateMachineBuilder to instantiate different builder. And also user can register different type of post processor to post process created builder.

Author:
Henry.He

Constructor Summary
StateMachineBuilderFactory()
           
 
Method Summary
static
<T extends StateMachine<T,S,E,C>,S,E,C>
StateMachineBuilder<T,S,E,C>
create(Class<? extends T> stateMachineClazz, Class<S> stateClazz, Class<E> eventClazz, Class<C> contextClazz)
           
static
<T extends StateMachine<T,S,E,C>,S,E,C>
StateMachineBuilder<T,S,E,C>
create(Class<? extends T> stateMachineClazz, Class<S> stateClazz, Class<E> eventClazz, Class<C> contextClazz, Class<?>... extraConstParamTypes)
           
static UntypedStateMachineBuilder create(Class<? extends UntypedStateMachine> stateMachineClazz)
           
static UntypedStateMachineBuilder create(Class<? extends UntypedStateMachine> stateMachineClazz, Class<?>... extraConstParamTypes)
           
static UntypedStateMachineBuilder create(StateMachineBuilder<UntypedStateMachine,Object,Object,Object> builder)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StateMachineBuilderFactory

public StateMachineBuilderFactory()
Method Detail

create

public static UntypedStateMachineBuilder create(Class<? extends UntypedStateMachine> stateMachineClazz)

create

public static UntypedStateMachineBuilder create(Class<? extends UntypedStateMachine> stateMachineClazz,
                                                Class<?>... extraConstParamTypes)

create

public static UntypedStateMachineBuilder create(StateMachineBuilder<UntypedStateMachine,Object,Object,Object> builder)

create

public static <T extends StateMachine<T,S,E,C>,S,E,C> StateMachineBuilder<T,S,E,C> create(Class<? extends T> stateMachineClazz,
                                                                                          Class<S> stateClazz,
                                                                                          Class<E> eventClazz,
                                                                                          Class<C> contextClazz)

create

public static <T extends StateMachine<T,S,E,C>,S,E,C> StateMachineBuilder<T,S,E,C> create(Class<? extends T> stateMachineClazz,
                                                                                          Class<S> stateClazz,
                                                                                          Class<E> eventClazz,
                                                                                          Class<C> contextClazz,
                                                                                          Class<?>... extraConstParamTypes)


Copyright © 2013-2014. All Rights Reserved.