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         }