1 15 package org.apache.tapestry.engine.state; 16 17 import java.util.HashMap ; 18 import java.util.Iterator ; 19 import java.util.Map ; 20 21 import org.apache.hivemind.PoolManageable; 22 23 29 public class ApplicationStateManagerImpl implements ApplicationStateManager, PoolManageable 30 { 31 32 35 36 private Map _stateObjects = new HashMap (); 37 38 private StateObjectManagerRegistry _registry; 39 40 public void activateService() 41 { 42 } 43 44 public void passivateService() 45 { 46 _stateObjects.clear(); 47 } 48 49 public boolean exists(String objectName) 50 { 51 return _stateObjects.containsKey(objectName) || _registry.get(objectName).exists(); 52 } 53 54 public Object get(String objectName) 55 { 56 Object result = _stateObjects.get(objectName); 57 58 if (result == null) 59 { 60 result = _registry.get(objectName).get(); 61 62 _stateObjects.put(objectName, result); 63 } 64 65 return result; 66 } 67 68 public void store(String objectName, Object stateObject) 69 { 70 _registry.get(objectName).store(stateObject); 71 72 _stateObjects.put(objectName, stateObject); 73 } 74 75 public void flush() 76 { 77 Iterator i = _stateObjects.entrySet().iterator(); 78 while (i.hasNext()) 79 { 80 Map.Entry e = (Map.Entry ) i.next(); 81 82 String objectName = (String ) e.getKey(); 83 Object stateObject = e.getValue(); 84 85 87 _registry.get(objectName).store(stateObject); 88 } 89 } 90 91 public void setRegistry(StateObjectManagerRegistry registry) 92 { 93 _registry = registry; 94 } 95 } | Popular Tags |