1 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 |