package dk.socketmud.object; import java.util.ArrayList; import java.util.Iterator; public abstract class Mobile extends SMObject { protected static ArrayList<String> cmdList = new ArrayList<String>(); protected String name; static { cmdList.add("say"); } public Mobile(String name) { super(); if (name == null) throw new NullPointerException("name cannot be NULL"); this.name = name; } public void writeDuh() { write("Duh?\r\n"); } public String canInterpret(String command) { Iterator<String> i = cmdList.iterator(); command = command.toLowerCase(); while (i.hasNext()) { String s = i.next(); if (s.startsWith(command)) { if (s.length() == 1) return s.toUpperCase(); else return java.lang.Character.toUpperCase(s.charAt(0)) + s.substring(1); } } return null; } public abstract void write(String s); }