View Javadoc
1 /* 2 * Copyright (c) 2004, Bruce Lowery 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * 8 * - Redistributions of source code must retain the above copyright notice, 9 * this list of conditions and the following disclaimer. 10 * - Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * - Neither the name of JEGG nor the names of its contributors may be used 14 * to endorse or promote products derived from this software without 15 * specific prior written permission. 16 * 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 22 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 23 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 24 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 25 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 26 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 27 * POSSIBILITY OF SUCH DAMAGE. 28 */ 29 package jegg; 30 31 /*** 32 * Used to wrap an application message that is being sent from one egg to another. 33 * <p> 34 * The Message instance not wraps the sending egg's concrete message object, but 35 * also holds a reference to the sending egg's own message port and the 36 * priority of the message. 37 * <p> 38 * An egg can use a special base-class method, {@link jegg.Egg.ceateMessage(Object) 39 * Egg.createMessage()}, to wrap an application message before writing it to 40 * a message port. 41 */ 42 public class Message 43 { 44 /*** The message port of the sending egg */ 45 private Port _from; 46 /*** The sending egg's application message */ 47 private Object _message; 48 /*** The dispatch priority of the message */ 49 private Priority _priority; 50 51 /*** 52 * Create a JEgg message. 53 * 54 * @param m the application message being sent. 55 * @param p the port of the sending egg. 56 * @param pr the message's dispatch priority. 57 */ 58 public Message(Object m, Port p, Priority pr) 59 { 60 _from = p; 61 _message = m; 62 _priority = pr; 63 } 64 65 66 /*** 67 * Return the port of the egg that sent this message. 68 * @return the sending egg's message port. 69 */ 70 public final Port getFrom() 71 { 72 return _from; 73 } 74 75 /*** 76 * Return the application message. 77 * 78 * @return the application message wrapped by this JEgg message. 79 */ 80 public final Object getMessage() 81 { 82 return _message; 83 } 84 85 /*** 86 * Return the dispatch priority of this message. 87 * @return dispatch priority. 88 */ 89 public final Priority getPriority() 90 { 91 return _priority; 92 } 93 94 /*** 95 * Return a string representation of this message. 96 * @return string 97 */ 98 public final String toString() 99 { 100 return "Message("+_message.toString()+")"; 101 } 102 }

This page was automatically generated by Maven