package foundation.action; import java.util.Iterator; import foundation.util.MapList; import foundation.util.Util; public class Events implements Iterable { private MapList items; public Events(String... codes) { items = new MapList(); for (String code: codes) { items.add(code, code); } } public static Events getInstance(String eventCodes) { if (Util.isEmpty(eventCodes)) { return null; } eventCodes = eventCodes.trim().replace(",", ",").replace(";", ",").replace(";", ","); String[] codes = eventCodes.split(","); Events result = new Events(codes); return result; } public void addOne(String event) { if (items.contains(event)) { return; } items.add(event, event); } public String get(int i) { return items.get(i); } public int size() { return items.size(); } public boolean isEmpty() { return items.isEmpty(); } public String getFirst() { if (items.isEmpty()) { return null; } return items.get(0); } @Override public Iterator iterator() { return items.iterator(); } }