import java.util.*;

public abstract class FMessage {
	public static final int AbstractMessage = 0;
	public static final int AckMessage = 1;
	public static final int TalkMessage = 2;
	public static final int NotifyMessage = 3;
	public static final int TurnMessage = 4;
	public static final int RoleMessage = 5;
	
	public static final int MessageType = AbstractMessage;
	
	public int playerto;
	public String comment;
	public boolean broadcast;
	
	public static FMessage createMessage( String s ) {
		return createMessage( s, "(unknown)" );
	}
	
	public static FMessage createMessage( String s, String player ) {
		String msgheader;
		
		msgheader = (new StringTokenizer( s )).nextToken();
		if (msgheader.equals( "ack" )) {
		} else if (msgheader.equals( "say" ) ||
		           msgheader.equals( "shout" )) {
			return (new FTalkMessage( s, player ));
		} else if (msgheader.equals( "notify" )) {
		} else if (msgheader.equals( "selectrole" ) ||
				   msgheader.equals( "discardrole" )) {
		} else if (msgheader.equals( "action" ) ||
				   msgheader.equals( "income" ) ||
				   msgheader.equals( "special" ) ||
				   msgheader.equals( "build" ) ||
				   msgheader.equals( "district" ) ||
				   msgheader.equals( "endturn" )) {
		}

		return null;
	}
}
