package foundation.action;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
public class StateContext {
|
|
private Map<String, StateContextItem> items;
|
|
public StateContext() {
|
items = new HashMap<String, StateContextItem>();
|
}
|
|
public void setState(String dataName, String stateCode) {
|
if (dataName == null) {
|
return;
|
}
|
|
String lower = dataName.toLowerCase();
|
|
StateContextItem item = items.get(lower);
|
if (item == null) {
|
item = new StateContextItem(dataName);
|
items.put(lower, item);
|
}
|
|
item.addOne(stateCode);
|
}
|
|
public StateContextItem getState(String dataName) {
|
if (dataName == null) {
|
return null;
|
}
|
|
dataName = dataName.toLowerCase();
|
return items.get(dataName);
|
}
|
|
public boolean isState(String dataName, String stateCode) {
|
if (dataName == null || stateCode == null) {
|
return false;
|
}
|
|
dataName = dataName.toLowerCase();
|
|
StateContextItem item = items.get(dataName);
|
if (item == null) {
|
return false;
|
}
|
|
return item.contains(stateCode);
|
}
|
|
public Map<String, StateContextItem> getItems() {
|
return items;
|
}
|
|
public static boolean isEmpty(StateContext stateContext) {
|
if (stateContext == null) {
|
return true;
|
}
|
|
Map<String, StateContextItem> items = stateContext.getItems();
|
return items == null || items.isEmpty() || items.size() == 0;
|
}
|
}
|