01: /*
02: * Copyright 1990-2006 Sun Microsystems, Inc. All Rights Reserved.
03: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
04: *
05: * This program is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU General Public License version
07: * 2 only, as published by the Free Software Foundation.
08: *
09: * This program is distributed in the hope that it will be useful, but
10: * WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: * General Public License version 2 for more details (a copy is
13: * included at /legal/license.txt).
14: *
15: * You should have received a copy of the GNU General Public License
16: * version 2 along with this work; if not, write to the Free Software
17: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18: * 02110-1301 USA
19: *
20: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
21: * Clara, CA 95054 or visit www.sun.com if you need additional
22: * information or have any questions.
23: */
24: package com.sun.jump.message;
25:
26: /**
27: * <code>JUMPMessagingService</code> provides the methods for creating and
28: * receiving messages. The interface is exposed by the appropriate
29: * singleton classes
30: * {@link com.sun.jump.executive.JUMPExecutive} and
31: * {@link com.sun.jump.isolate.jvmprocess.JUMPIsolateProcess}
32: *
33: */
34: public interface JUMPMessagingService {
35: /**
36: * Gets the message dispacther for the process
37: */
38: JUMPMessageDispatcher getMessageDispatcher();
39:
40: /**
41: * Creates a new, <i>blank</i> <Code>JUMPOutgoingMessage</code> for the
42: * message type. The sender of the message is automatically filled
43: * in by the factory implementation.
44: */
45: JUMPOutgoingMessage newOutgoingMessage(String mesgType);
46:
47: /**
48: * Create a new, <i>blank</i> <code>JUMPOutgoingMessage</code> as a
49: * response to the request message passed. The sender of the
50: * message is automatically filled in by the factory
51: * implementation.
52: */
53: JUMPOutgoingMessage newOutgoingMessage(JUMPMessage requestMessage);
54:
55: /**
56: * Create a new, <i>immutable</i> <code>JUMPMessage</code>
57: * out of a raw array of bytes received on the message queue.
58: */
59: JUMPMessage newMessage(byte[] rawData);
60:
61: }
|