001: /*
002: * MessageQueueClient: The message queue client library
003: * Copyright (C) 2006 Rift IT Contracting
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2.1 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
018: *
019: * RPCMessage.java
020: */
021:
022: package com.rift.coad.daemon.messageservice;
023:
024: /**
025: * The definition of the RPC message.
026: *
027: * @author Brett Chaldecott
028: */
029: public interface RPCMessage extends Message {
030: /**
031: * This method sets the XML body for the message.
032: *
033: * @param xml The string containing the formatted xml for the request.
034: * @exception MessageServiceException
035: */
036: public void setMethodBodyXML(String xml)
037: throws MessageServiceException;
038:
039: /**
040: * This method returns the XML body of the message.
041: *
042: * @return The string containing the formatted xml for the request.
043: * @exception MessageServiceException
044: */
045: public String getMethodBodyXML() throws MessageServiceException;
046:
047: /**
048: * This method sets the method information for
049: *
050: * @param returnType The return type for this message.
051: * @param name The name of this method.
052: * @param types The types that are arguments to this method.
053: * @exception MessageServiceException
054: */
055: public void defineMethod(Class returnType, String name,
056: Class[] types) throws MessageServiceException;
057:
058: /**
059: * This method retrieves the return type of a method.
060: *
061: * @return The object containing the return type information.
062: * @exception MessageServiceException
063: */
064: public Object getReturnType() throws MessageServiceException;
065:
066: /**
067: * This method returns the name of the method being wrapped.
068: *
069: * @return The string containing the method name.
070: * @exception MessageServiceException
071: */
072: public String getMethodName() throws MessageServiceException;
073:
074: /**
075: * This method returns the argument types for this method.
076: *
077: * @return The list of arguments.
078: * @exception MessageServiceException
079: */
080: public Class[] getArgumentTypes() throws MessageServiceException;
081:
082: /**
083: * This method sets the arguments for this message.
084: *
085: * @param args The arguments to set.
086: * @exception MessageServiceException
087: */
088: public void setArguments(Object[] args)
089: throws MessageServiceException;
090:
091: /**
092: * This method returns the arguments for a method.
093: *
094: * @return The list of arguments.
095: * @exception MessageServiceException.
096: */
097: public Object[] getArguments() throws MessageServiceException;
098:
099: /**
100: * This method returns true if an exception was thrown.
101: *
102: * @return TRUE if and exception was generated, FALSE if not.
103: * @exception MessageServiceException
104: */
105: public boolean generatedException() throws MessageServiceException;
106:
107: /**
108: * This method returns the result of the RPC call.
109: *
110: * @return The object returns as a result of the asynchronis call.
111: * @exception MessageServiceException
112: */
113: public Object getResult() throws MessageServiceException;
114:
115: /**
116: * This method is responsible for setting the result of the return.
117: *
118: * @param result The result of the message.
119: * @exception MessageServiceException
120: */
121: public void setResult(Object result) throws MessageServiceException;
122:
123: /**
124: * This method returns the exception that got thrown while processing this
125: * RPC message.
126: *
127: * @return The exception that got thrown while processing this message.
128: * @exception MessageServiceException
129: */
130: public Throwable getThrowable() throws MessageServiceException;
131:
132: /**
133: * This method returns the exception that got thrown while processing this
134: * RPC message.
135: *
136: * @param throwable The throwable exception to set.
137: * @exception MessageServiceException
138: */
139: public void setThrowable(Throwable throwable)
140: throws MessageServiceException;
141: }
|