KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > geronimo > interop > rmi > iiop > ObjectRefHelper


1 /**
2  *
3  * Copyright 2004-2005 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  *
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */

18 package org.apache.geronimo.interop.rmi.iiop;
19
20
21
22 public class ObjectRefHelper implements ObjectHelper
23 {
24     public static ObjectRefHelper getInstance(Class JavaDoc theClass)
25     {
26         return new ObjectRefHelper();
27     }
28
29     public Object JavaDoc read(ObjectInputStream input)
30     {
31         return input._cdrInput.read_Object();
32     }
33
34     public void write(ObjectOutputStream output, Object JavaDoc value)
35     {
36         if (value == null || value instanceof ObjectRef)
37         {
38             output._cdrOutput.write_Object((org.omg.CORBA.Object JavaDoc)value);
39         }
40         else if (value instanceof RemoteInterface)
41         {
42             RemoteInterface remote = (RemoteInterface)value;
43             ObjectRef objectRef = remote.getObjectRef();
44             output._cdrOutput.write_Object(objectRef);
45         }
46         else
47         {
48             throw new IllegalArgumentException JavaDoc("class = " + value.getClass());
49         }
50     }
51 }
52
Popular Tags