JSocketMUD/
JSocketMUD/dk/socketmud/
JSocketMUD/dk/socketmud/io/
JSocketMUD/dk/socketmud/object/
JSocketMUD/dk/socketmud/util/
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);
}