KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > proxy > ProxyInvocation


1 /**
2  *
3  * Copyright 2003-2004 The Apache Software Foundation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 package org.apache.geronimo.proxy;
19
20 import java.io.IOException JavaDoc;
21 import java.io.ObjectInput JavaDoc;
22 import java.io.ObjectOutput JavaDoc;
23 import java.lang.reflect.Method JavaDoc;
24
25 import org.apache.geronimo.core.service.Invocation;
26 import org.apache.geronimo.core.service.SimpleInvocation;
27
28 /**
29  * @version $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $
30  */

31 final public class ProxyInvocation extends SimpleInvocation {
32
33     Method JavaDoc method;
34     Object JavaDoc args[];
35     Object JavaDoc proxy;
36
37     /* (non-Javadoc)
38      * @see org.apache.geronimo.core.service.SimpleInvocation#writeExternal(java.io.ObjectOutput)
39      */

40     public void writeExternal(ObjectOutput JavaDoc out) throws IOException JavaDoc {
41         super.writeExternal(out);
42         out.writeObject(args);
43         out.writeObject(new MarshalledMethod(method));
44     }
45
46     /**
47      * @see org.apache.geronimo.core.service.SimpleInvocation#readExternal(java.io.ObjectInput)
48      */

49     public void readExternal(ObjectInput JavaDoc in) throws IOException JavaDoc, ClassNotFoundException JavaDoc {
50         super.readExternal(in);
51         args = (Object JavaDoc[]) in.readObject();
52         method = ((MarshalledMethod) in.readObject()).getMethod();
53     }
54
55     public static Method JavaDoc getMethod(Invocation invocation) {
56         return (Method JavaDoc) ((ProxyInvocation) invocation).method;
57     }
58     public static void putMethod(Invocation invocation, Method JavaDoc method) {
59         ((ProxyInvocation) invocation).method = method;
60     }
61
62     public static Object JavaDoc getProxy(Invocation invocation) {
63         return ((ProxyInvocation) invocation).proxy;
64     }
65     public static void putProxy(Invocation invocation, Object JavaDoc proxy) {
66         ((ProxyInvocation) invocation).proxy = proxy;
67     }
68
69     public static Object JavaDoc[] getArguments(Invocation invocation) {
70         return ((ProxyInvocation) invocation).args;
71     }
72
73     public static void putArguments(Invocation invocation, Object JavaDoc[] arguments) {
74         ((ProxyInvocation) invocation).args = arguments;
75     }
76
77 }
78
Popular Tags