package org.squirrelframework.foundation.fsm.annotation;
import org.squirrelframework.foundation.fsm.HistoryType;
import org.squirrelframework.foundation.fsm.StateCompositeType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
@Target({TYPE})
@Retention(RUNTIME)
public @interface State {
String parent() default "";
String name();
String alias() default "";
String entryCallMethod() default "";
String exitCallMethod() default "";
boolean initialState() default false;
boolean isFinal() default false;
HistoryType historyType() default HistoryType.NONE;
StateCompositeType compositeType() default StateCompositeType.SEQUENTIAL;
}