1. /*
  2. * @(#)NewObjectKeyTemplateBase.java 1.9 04/03/01
  3. *
  4. * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.impl.ior;
  8. import java.io.IOException ;
  9. import org.omg.CORBA_2_3.portable.InputStream ;
  10. import org.omg.CORBA_2_3.portable.OutputStream ;
  11. import com.sun.corba.se.spi.ior.ObjectId ;
  12. import com.sun.corba.se.spi.ior.ObjectAdapterId ;
  13. import com.sun.corba.se.spi.ior.ObjectKeyFactory ;
  14. import com.sun.corba.se.spi.ior.iiop.GIOPVersion ;
  15. import com.sun.corba.se.spi.orb.ORB ;
  16. import com.sun.corba.se.spi.orb.ORBVersion ;
  17. import com.sun.corba.se.spi.orb.ORBVersionFactory ;
  18. import com.sun.corba.se.impl.ior.ObjectKeyFactoryImpl ;
  19. public abstract class NewObjectKeyTemplateBase extends ObjectKeyTemplateBase
  20. {
  21. public NewObjectKeyTemplateBase( ORB orb, int magic, int scid, int serverid,
  22. String orbid, ObjectAdapterId oaid )
  23. {
  24. super( orb, magic, scid, serverid, orbid, oaid ) ;
  25. // subclass must set the version, since we don't have the object key here.
  26. if (magic != ObjectKeyFactoryImpl.JAVAMAGIC_NEWER)
  27. throw wrapper.badMagic( new Integer( magic ) ) ;
  28. }
  29. public void write(ObjectId objectId, OutputStream os)
  30. {
  31. super.write( objectId, os ) ;
  32. getORBVersion().write( os ) ;
  33. }
  34. public void write(OutputStream os)
  35. {
  36. super.write( os ) ;
  37. getORBVersion().write( os ) ;
  38. }
  39. protected void setORBVersion( InputStream is )
  40. {
  41. ORBVersion version = ORBVersionFactory.create( is ) ;
  42. setORBVersion( version ) ;
  43. }
  44. }