From d0e96368a2a08b694d5abebd34f193a32fdedb39 Mon Sep 17 00:00:00 2001 From: Janne Valkealahti Date: Fri, 10 Apr 2015 11:39:16 +0100 Subject: [PATCH] More content and sample --- img/statechart0.png | Bin 0 -> 4822 bytes index.html | 82 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 img/statechart0.png diff --git a/img/statechart0.png b/img/statechart0.png new file mode 100644 index 0000000000000000000000000000000000000000..18d97d9f1e4f8c607685a6c470c2098154986b04 GIT binary patch literal 4822 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 + +```java +static enum States { + STATE1, STATE2 +} + +static enum Events { + EVENT1, EVENT2 +} +``` + +```java +@Configuration +@EnableStateMachine +static class Config1 extends EnumStateMachineConfigurerAdapter { + + @Override + public void configure(StateMachineStateConfigurer states) + throws Exception { + states + .withStates() + .initial(States.STATE1) + .states(EnumSet.allOf(States.class)); + } + + @Override + public void configure(StateMachineTransitionConfigurer transitions) + throws Exception { + transitions + .withExternal() + .source(States.STATE1).target(States.STATE2) + .event(Events.EVENT1) + .and() + .withExternal() + .source(States.STATE2).target(States.STATE1) + .event(Events.EVENT2); + } +} +``` + +```java +@WithStateMachine +static class MyBean { + + @OnTransition(target = "STATE1") + void toState1() { + } + + @OnTransition(target = "STATE2") + void toState2() { + } +} +``` + +```java +static class MyApp { + + @Autowired + StateMachine stateMachine; + + void doSignals() { + stateMachine.sendEvent(Events.EVENT1); + stateMachine.sendEvent(Events.EVENT2); + } +} +``` + {% endcapture %} {% capture related_resources %}