KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exolab > jms > net > connector > MarshalledInvocation


1 /**
2  * Redistribution and use of this software and associated documentation
3  * ("Software"), with or without modification, are permitted provided
4  * that the following conditions are met:
5  *
6  * 1. Redistributions of source code must retain copyright
7  * statements and notices. Redistributions must also contain a
8  * copy of this document.
9  *
10  * 2. Redistributions in binary form must reproduce the
11  * above copyright notice, this list of conditions and the
12  * following disclaimer in the documentation and/or other
13  * materials provided with the distribution.
14  *
15  * 3. The name "Exolab" must not be used to endorse or promote
16  * products derived from this Software without prior written
17  * permission of Exoffice Technologies. For written permission,
18  * please contact info@exolab.org.
19  *
20  * 4. Products derived from this Software may not be called "Exolab"
21  * nor may "Exolab" appear in their names without prior written
22  * permission of Exoffice Technologies. Exolab is a registered
23  * trademark of Exoffice Technologies.
24  *
25  * 5. Due credit should be given to the Exolab Project
26  * (http://www.exolab.org/).
27  *
28  * THIS SOFTWARE IS PROVIDED BY EXOFFICE TECHNOLOGIES AND CONTRIBUTORS
29  * ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
30  * NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
31  * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
32  * EXOFFICE TECHNOLOGIES OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
33  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
34  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
35  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
36  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
37  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
38  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
39  * OF THE POSSIBILITY OF SUCH DAMAGE.
40  *
41  * Copyright 2005 (C) Exoffice Technologies Inc. All Rights Reserved.
42  *
43  * $Id: MarshalledInvocation.java,v 1.1 2005/06/04 14:28:52 tanderson Exp $
44  */

45
46 package org.exolab.jms.net.connector;
47
48 import java.io.IOException JavaDoc;
49 import java.rmi.MarshalledObject JavaDoc;
50
51
52 /**
53  * An <code>Invocation</code> where the {@link Request} is wrapped
54  * in an {@link MarshalledObject}.
55  *
56  * @author <a HREF="mailto:tma@netspace.net.au">Tim Anderson</a>
57  * @version $Revision: 1.1 $ $Date: 2005/06/04 14:28:52 $
58  */

59 public class MarshalledInvocation implements Invocation {
60
61     /**
62      * The marshalled {@link Request} instance.
63      */

64     private final MarshalledObject JavaDoc _request;
65
66     /**
67      * The result of the invocation.
68      */

69     private Response _response;
70
71     /**
72      * The caller performing the invocation.
73      */

74     private final Caller _caller;
75
76
77     /**
78      * Construct a new <code>MarshalledInvocation</code>.
79      *
80      * @param request the marshalled {@link Request} instance
81      * @param caller the caller performing the invocation
82      */

83     public MarshalledInvocation(MarshalledObject JavaDoc request, Caller caller) {
84         _request = request;
85         _caller = caller;
86     }
87
88     /**
89      * Returns the request.
90      *
91      * @return the request
92      * @throws Throwable for any error
93      */

94     public Request getRequest() throws Throwable JavaDoc {
95         return (Request) _request.get();
96     }
97
98     /**
99      * Returns the caller performing the invocation.
100      *
101      * @return the caller
102      */

103     public Caller getCaller() {
104         return _caller;
105     }
106
107     /**
108      * Sets the result of the invocation.
109      *
110      * @param response the result
111      */

112     public void setResponse(Response response) {
113         _response = response;
114     }
115
116     /**
117      * Returns the result of the invocation.
118      *
119      * @return the result of the invocation.
120      */

121     public Response getResponse() {
122         return _response;
123     }
124
125     /**
126      * Returns the result of the invocation, wrapped in a {@link
127      * MarshalledObject}.
128      *
129      * @return the result of the invocation.
130      * @throws IOException if the response can't be marshalld
131      */

132     public MarshalledObject JavaDoc getMarshalledResponse() throws IOException JavaDoc {
133         return new MarshalledObject JavaDoc(_response);
134     }
135
136 }
137
Popular Tags