KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gcc > rmi > iiop > ObjectRefHelper


1 /*
2  * Copyright 2004 The Apache Software Foundation or its licensors, as
3  * applicable.
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
14  * implied.
15  *
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */

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