001 package com.croftsoft.apps.client;
002
003 import com.croftsoft.core.lang.NullArgumentException;
004
005 /*********************************************************************
006 * Enumerated type message.
007 *
008 * Use to pass messages between the model, view, and controller.
009 *
010 * @version
011 * $Id: ClientMessage.java,v 1.2 2006/11/14 03:04:08 croft Exp $
012 * @since
013 * 2006-10-30
014 * @author
015 * <a href="https://www.croftsoft.com/">David Wallace Croft</a>
016 *********************************************************************/
017
018 public final class ClientMessage
019 //////////////////////////////////////////////////////////////////////
020 //////////////////////////////////////////////////////////////////////
021 {
022
023 public enum Type
024 {
025 SEND_TEXT_REQUEST,
026 SPEECH_EVENT,
027 TEXT_EVENT
028 }
029
030 //
031
032 private final Type type;
033
034 private final Object content;
035
036 //////////////////////////////////////////////////////////////////////
037 //////////////////////////////////////////////////////////////////////
038
039 public ClientMessage (
040 final Type type,
041 final Object content )
042 //////////////////////////////////////////////////////////////////////
043 {
044 NullArgumentException.check ( this.type = type );
045
046 this.content = content;
047 }
048
049 public ClientMessage ( final Type type )
050 //////////////////////////////////////////////////////////////////////
051 {
052 this ( type, null );
053 }
054
055 //////////////////////////////////////////////////////////////////////
056 //////////////////////////////////////////////////////////////////////
057
058 public Type getType ( ) { return type; }
059
060 public Object getContent ( ) { return content; }
061
062 //////////////////////////////////////////////////////////////////////
063 //////////////////////////////////////////////////////////////////////
064 }