1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.statemachine.context;
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import org.apache.commons.lang.builder.ToStringBuilder;
26 import org.apache.mina.statemachine.State;
27
28
29
30
31
32
33
34 public abstract class AbstractStateContext implements StateContext {
35 private State currentState = null;
36
37 private Map<Object, Object> attributes = null;
38
39 public Object getAttribute(Object key) {
40 return getAttributes().get(key);
41 }
42
43 public State getCurrentState() {
44 return currentState;
45 }
46
47 public void setAttribute(Object key, Object value) {
48 getAttributes().put(key, value);
49 }
50
51 public void setCurrentState(State state) {
52 currentState = state;
53 }
54
55 protected Map<Object, Object> getAttributes() {
56 if (attributes == null) {
57 attributes = new HashMap<Object, Object>();
58 }
59 return attributes;
60 }
61
62 public String toString() {
63 return new ToStringBuilder(this).append("currentState", currentState).append("attributes", attributes)
64 .toString();
65 }
66 }