import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * @author Richard L. Burton III * @version 1.0 */ public class SearchList extends ArrayList { private Map indices = new HashMap(); @Override public boolean add(String s) { if (!indices.containsKey(s)) { indices.put(s, size() + 1); return super.add(s); } return false; } public ArrayList search(String message) { ArrayList indexes = new ArrayList(); String[] temp = message.split(" "); for (String aTemp : temp) { String word = aTemp.replaceAll("\u002D", " "); Integer index = indices.get(word); if (index != null) { indexes.add(index); } } return indexes; } public boolean contains(String message) { return indices.get(message) != null; } /** * Removes everything that is not a letter or a number. * @param s * @return */ public static String remove(String s) { s = s.replaceAll("[^a-zA-Z_0-9\u002D]", " "); return s; } public void save(String fileName) { // Filesystem.writeFile(fileName, this.list); } public ArrayList searchString(String message) { ArrayList indices = new ArrayList(); for (int i = 0; i < size(); i++) { if (get(i).contains(message)) { indices.add(i); } } return indices; } @SuppressWarnings("deprecation") public static String replace(String s, String name, String sender, String message, String channel) { // If we have present, replace it with the sender's nick. if (s.indexOf("") >= 0) { s = s.replace("", sender); } if (s.indexOf("") >= 0) { s = s.replace("", channel); } if (s.indexOf("") >= 0) { s = s.replace("", message); } if (s.indexOf("