KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > soto > state > StaticContext


1 package org.sapia.soto.state;
2
3 import org.sapia.soto.state.config.Globals;
4
5 import gnu.trove.THashMap;
6
7 import java.util.ArrayList JavaDoc;
8 import java.util.List JavaDoc;
9 import java.util.Map JavaDoc;
10
11
12 /**
13  * @author Yanick Duchesne
14  *
15  * <dl>
16  * <dt><b>Copyright:</b><dd>Copyright &#169; 2002-2004 <a HREF="http://www.sapia-oss.org">Sapia Open Source Software</a>. All Rights Reserved.</dd></dt>
17  * <dt><b>License:</b><dd>Read the license.txt file of the jar or visit the
18  * <a HREF="http://www.sapia-oss.org/license.html">license page</a> at the Sapia OSS web site</dd></dt>
19  * </dl>
20  */

21 public class StaticContext {
22   protected THashMap _states = new THashMap();
23   protected List JavaDoc _listeners = new ArrayList JavaDoc();
24   protected Globals _globals = new Globals();
25   protected THashMap _modules = new THashMap();
26   protected List JavaDoc _anonymousModules = new ArrayList JavaDoc();
27   protected StateMachine _parent;
28   protected boolean _inheritModules;
29   
30     public StateMachine getParent() {
31         return _parent;
32     }
33     
34     void init(){
35         _states.compact();
36         _modules.compact();
37     }
38
39   Map getStates() {
40     return _states;
41   }
42   
43   StateHolder getStateFor(String JavaDoc stateId){
44     StateHolder sh = (StateHolder)_states.get(stateId);
45     if(sh == null){
46         Module m;
47         for(int i = 0; i < _anonymousModules.size(); i++){
48             m = (Module)_anonymousModules.get(i);
49             sh = m.getStateMachine(true).getStmContext().getStateFor(stateId);
50             if(sh != null){
51                 break;
52             }
53         }
54     }
55     return sh;
56   }
57
58   List JavaDoc getStateListeners() {
59     return _listeners;
60   }
61
62   Globals getGlobals() {
63     return _globals;
64   }
65
66   Map getModules() {
67     return _modules;
68   }
69   
70   List JavaDoc getAnonymousModules(){
71     return _anonymousModules;
72   }
73
74   void setParent(StateMachine parent) {
75     _parent = parent;
76   }
77 }
78
Popular Tags