public OldJIDLObjectKeyTemplate( ORB orb, int magic, int scid, InputStream is, OctetSeqHolder osh ) { this( orb, magic, scid, is ); osh.value = readObjectKey( is ) ; /** * Beginning with JDK 1.3.1_01, a byte was placed at the end of * the object key with a value indicating the patch version. * JDK 1.3.1_01 had the value 1. If other patches are necessary * which involve ORB versioning changes, they should increment * the patch version. * * Note that if we see a value greater than 1 in this code, we * will treat it as if we're talking to the most recent ORB version. * * WARNING: This code is sensitive to changes in CDRInputStream * getPosition. It assumes that the CDRInputStream is an * encapsulation whose position can be compared to the object * key array length. */ if (magic == ObjectKeyFactoryImpl.JAVAMAGIC_NEW && osh.value.length > ((CDRInputStream)is).getPosition()) { patchVersion = is.read_octet(); if (patchVersion == ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL) setORBVersion(ORBVersionFactory.getJDK1_3_1_01()); else if (patchVersion > ObjectKeyFactoryImpl.JDK1_3_1_01_PATCH_LEVEL) setORBVersion(ORBVersionFactory.getORBVersion()); else throw wrapper.invalidJdk131PatchLevel( new Integer( patchVersion ) ) ; } }
/** This constructor reads a complete ObjectKey (template and Id) * from the stream. */ public POAObjectKeyTemplate( ORB orb, int magic, int scid, InputStream is, OctetSeqHolder osh ) { super( orb, magic, scid, is.read_long(), is.read_string(), new ObjectAdapterIdArray( POANameHelper.read( is ) ) ) ; osh.value = readObjectKey( is ) ; setORBVersion( is ) ; }
/** This constructor reads a complete ObjectKey (template and Id) * from the stream. */ public JIDLObjectKeyTemplate( ORB orb, int magic, int scid, InputStream is, OctetSeqHolder osh ) { super( orb, magic, scid, is.read_long(), JIDL_ORB_ID, JIDL_OAID ); osh.value = readObjectKey( is ) ; setORBVersion( is ) ; }
/** Creates an ObjectKeyTemplate from the InputStream. Most of the * decoding is done inside the handler. */ private ObjectKeyTemplate create( InputStream is, Handler handler, OctetSeqHolder osh ) { ObjectKeyTemplate oktemp = null ; try { is.mark(0) ; int magic = is.read_long() ; if (validMagic( magic )) { int scid = is.read_long() ; oktemp = handler.handle( magic, scid, is, osh ) ; } } catch (MARSHAL mexc) { // XXX log this error // ignore this: error handled below because oktemp == null } if (oktemp == null) // If we did not successfully construct a oktemp, reset the // stream so that WireObjectKeyTemplate can correctly construct the // object key. try { is.reset() ; } catch (IOException exc) { // XXX log this error // ignore this } return oktemp ; }
/** This constructor reads a complete ObjectKey (template and Id) * from the stream. */ public OldPOAObjectKeyTemplate( ORB orb, int magic, int scid, InputStream is, OctetSeqHolder osh ) { this( orb, magic, scid, is ) ; osh.value = readObjectKey( is ) ; }