Commit Graph

54 Commits

Author SHA1 Message Date
Janne Valkealahti
cceec5500a Add flag to disable context events
- EnableStateMachineFactory and EnableStateMachine now
  have contextEvents defaulting to true which can
  be used to disable spring app context events.
- Fixes #28
2015-04-03 23:36:28 +01:00
Janne Valkealahti
e1be34cc92 Fix proper transition into super state
- Big conceptual changes how state transitions
  are handled which now allows more easy ways
  to figure out what to do and where to go.
- Exposing more info via State interface
- Adding tests to samples
- Fixes #30
2015-04-03 10:47:14 +01:00
Janne Valkealahti
85cc2df29e Ref doc updates 2015-03-28 18:53:23 +00:00
Janne Valkealahti
d108410005 Add proper substate handling for transitions
- Now you can define transition in all states
  and if substate guard prevents transtition to
  happen it will be checked from super state.
2015-03-28 08:45:29 +00:00
Janne Valkealahti
4bf49654b9 Add initial action and fix internal transition event
- New InitialTransition with initial action to get
  a change to modify variables when sm is started.
- Fixes a case where internal transition did't
  send transition event.
2015-03-27 17:39:46 +00:00
Janne Valkealahti
ac13ef7fa6 Create dist and docs artifacts 2015-03-24 18:42:18 +00:00
Janne Valkealahti
005bf688c3 Updates to showcase sample 2015-03-22 18:56:32 +00:00
Janne Valkealahti
4d0442c3d2 Remove obsolete machine ref in header
- No need to pass machine as ref in header
- Moved location of debug message of event queuing
2015-03-22 18:37:06 +00:00
Janne Valkealahti
6e10433b1b Fixing various aspects of state handling
- Factory had a problem to build machines
  with deep nested states.
- Fixing listener handling for substates, entry
  and exit events.
2015-03-22 18:27:39 +00:00
Janne Valkealahti
073df4e438 Add adapter impl for StateMachineListener 2015-03-21 15:24:56 +00:00
Janne Valkealahti
15a88b902a Revert "updates"
This reverts commit 7f11fdc8f9.
2015-03-21 15:23:22 +00:00
Janne Valkealahti
7f11fdc8f9 updates 2015-03-21 15:21:03 +00:00
Janne Valkealahti
a673615da3 update cdplayer sample 2015-03-21 10:57:27 +00:00
Janne Valkealahti
90051f3989 Add more state events
- Now app context and listener are notified when
  state is exited or entered.
2015-03-21 10:34:51 +00:00
Janne Valkealahti
dd7a6f5c03 Fix @OnTransition with other annotations 2015-03-21 09:51:16 +00:00
Janne Valkealahti
dff42c95ac Better support for @OnTransition
- We can't use generic enum types in annotations
  so adding a feature to support @OnTransition
  as meta annotation where user can define their
  own states as proper enums still falling back
  to @OnTransition.
2015-03-21 09:23:29 +00:00
Janne Valkealahti
bf793d90b1 Tune action handling and concept
- Statemachine now available in StateContext
- Added single actions to StateConfigurer instead
  of forcing to use Collection.
2015-03-21 09:23:10 +00:00
Janne Valkealahti
74af052b72 Add base work for cdplayer sample 2015-03-15 19:39:43 +00:00
Janne Valkealahti
1396856bcf Remove extra system log 2015-03-15 18:29:51 +00:00
Janne Valkealahti
af9bb17517 Update readme 2015-03-15 16:58:49 +00:00
Janne Valkealahti
8d79cb0881 Fix extended state and @OnTransition handling
- Add better support for enums with @OnTransition fixes #25
- Add enum handling with extended state fixes #26
2015-03-15 16:43:14 +00:00
Janne Valkealahti
9235345a42 Fix state handling with substates
- Fixes #23
- Transition with submachine now exists and enters
  super state if transition is external.
2015-03-15 11:15:37 +00:00
Janne Valkealahti
3e5efefc33 Guard against null states 2015-03-14 16:19:32 +00:00
Janne Valkealahti
b9b270bf46 Add TimerTrigger
- This fixes #gh21
- New TimerTrigger which can be used to schedule
  triggers which then may cause transitions.
2015-03-14 11:01:59 +00:00
Janne Valkealahti
1e3fb04614 Better model for triggers
- Harmonise how triggers are used
- Now using a trigger context
- Creates a better model so that we add
  more trigger types.
2015-03-14 08:20:02 +00:00
Janne Valkealahti
8908a2f19b Fix missing transitions for top level machine 2015-03-09 11:43:05 +00:00
Janne Valkealahti
e01c5f28c2 Temporary fixes for submachines and regions 2015-03-09 11:42:55 +00:00
Janne Valkealahti
c2d106c617 Tweak how annotation processor is enabled
- StateMachineAnnotationPostProcessor is now in its own
  StateMachineAnnotationPostProcessorConfiguration which gets
  imported automatically from @EnableStateMachine.
2015-03-08 09:19:13 +00:00
Janne Valkealahti
fe0f7ebb95 Add complex showcase sm sample 2015-03-07 19:23:40 +00:00
Janne Valkealahti
5bdf642005 fix mixups in submachines 2015-03-07 17:51:20 +00:00
Janne Valkealahti
8cf896b49c Fix css warning 2015-03-07 15:20:03 +00:00
Janne Valkealahti
b30ad73e00 Fixes for annotation method handling
- adding generics
- tidy up annotation handling for methods
- add EventHeaders annotation
2015-03-07 15:15:46 +00:00
Janne Valkealahti
ed81b1b578 Updates to docs 2015-03-06 15:01:23 +00:00
Janne Valkealahti
de848cda20 Event publish and listener changes 2015-03-01 17:52:54 +00:00
Janne Valkealahti
2ceca88e6a Region fixes 2015-02-28 17:02:53 +00:00
Janne Valkealahti
714b8131ff Submachine doesn't work with states on a same level
- resolves #20
- create correct state type when substate mixed with
  normal states.
2015-02-22 16:01:55 +00:00
Janne Valkealahti
ee2f7b2eb6 Add hierarchical event processing
- resolves #19
- add base support for handling events in a submachines
2015-02-22 15:34:10 +00:00
Janne Valkealahti
e6677f19c5 Better config model for substates
- streamline state model between config and state machine factory.
- remove SubStateConfigurer and just use StateConfigurer.
2015-02-21 15:48:07 +00:00
Janne Valkealahti
a98e50247d Tweak annotation config concepts 2015-02-17 09:31:14 +00:00
Janne Valkealahti
e8b5b3d86a Tune up action generics
- change so that pass TestEntryAction instead of its
  super interface Action<TestStates, TestEvents>. Doesn't
  really matter but makes it much prettier from
  user point of view.
2015-02-15 18:14:32 +00:00
Janne Valkealahti
be2709e962 Prepare better docs structure 2015-02-15 16:29:53 +00:00
Janne Valkealahti
cd93fb69cf Add configuration model for submachines
- some cleaning
- refactoring some state concepts to have a better
  support for submachines
2015-02-15 15:36:33 +00:00
Janne Valkealahti
d9b72b2e9a Fix mixup of builder configurers 2015-02-13 08:43:46 +00:00
Janne Valkealahti
25c34a3f7b Events not send to regions
- refactor event processing around state
  interfaces order to pass event from a state
  machine into a regions.
2015-02-12 10:37:54 +00:00
Janne Valkealahti
12e23debb4 RegionState doesn't process exit/entry actions 2015-02-12 07:59:36 +00:00
Janne Valkealahti
b8f5320e38 Base support for local transitions
- resolves #5
- big conceptual changes to how sub-machines are handled
  order to get events working with a multi-level sub states.
- added more typing throughout few interfaces to properly
  pass in state context via action axecution chain.
  this type change effectively caused change to most of the
  classes but not that much functional change of behaviour.
- cleaning and tidy up
2015-02-11 13:36:52 +00:00
Janne Valkealahti
250f99a1ae Add base support for app context event
- tidy up how listener event is sent together
  with app context events.
- resolves #12
2015-02-08 09:58:36 +00:00
Janne Valkealahti
8a468b367b Fix typo 2015-02-08 08:39:52 +00:00
Janne Valkealahti
49b0d1b8c1 Add base support for end/final state
- resolves #9
2015-02-08 08:32:31 +00:00
Janne Valkealahti
0bcb69d7fe Update readme 2015-02-07 18:20:58 +00:00