01: /*
02: * MessageQueueClient: The message queue client library
03: * Copyright (C) 2006 Rift IT Contracting
04: *
05: * This library is free software; you can redistribute it and/or
06: * modify it under the terms of the GNU Lesser General Public
07: * License as published by the Free Software Foundation; either
08: * version 2.1 of the License, or (at your option) any later version.
09: *
10: * This library is distributed in the hope that it will be useful,
11: * but WITHOUT ANY WARRANTY; without even the implied warranty of
12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13: * Lesser General Public License for more details.
14: *
15: * You should have received a copy of the GNU Lesser General Public
16: * License along with this library; if not, write to the Free Software
17: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18: *
19: * Producer.java
20: */
21:
22: // package path
23: package com.rift.coad.daemon.messageservice;
24:
25: // java imports
26: import java.rmi.Remote;
27: import java.rmi.RemoteException;
28:
29: /**
30: * The producer is responsible for creating and sending message for a single
31: * client. It is a session based RMI object.
32: *
33: * @author Brett Chaldecott
34: */
35: public interface Producer extends Remote {
36: /**
37: * This method is responsible for creating a new text message for the
38: * message service.
39: *
40: * @return A newly created text message.
41: * @param type The type of message.
42: * @exception RemoteException
43: * @exception MessageServiceException
44: */
45: public TextMessage createTextMessage(int type)
46: throws RemoteException, MessageServiceException;
47:
48: /**
49: * This method is responsible for creating a new RPC message for the
50: * message service.
51: *
52: * @return A newly created text message.
53: * @param type The type of message.
54: * @exception RemoteException
55: * @exception MessageServiceException
56: */
57: public RPCMessage createRPCMessage(int type)
58: throws RemoteException, MessageServiceException;
59:
60: /**
61: * This method is responsible for submitting a new message for processing by
62: * the message service.
63: *
64: * @param newMessage The new message to be processed.
65: * @exception RemoteException
66: * @exception MessageServiceException
67: */
68: public void submit(Message newMessage) throws RemoteException,
69: MessageServiceException;
70: }
|