FileDocCategorySizeDatePackage
JIDLObjectKeyTemplate.javaAPI DocJava SE 5 API1776Fri Aug 26 14:54:22 BST 2005com.sun.corba.se.impl.ior

JIDLObjectKeyTemplate.java

/*
 * @(#)JIDLObjectKeyTemplate.java	1.21 04/03/01
 *
 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

package com.sun.corba.se.impl.ior;

import org.omg.CORBA_2_3.portable.InputStream ;
import org.omg.CORBA_2_3.portable.OutputStream ;

import org.omg.CORBA.OctetSeqHolder ;

import com.sun.corba.se.spi.ior.ObjectId ;
import com.sun.corba.se.spi.ior.ObjectKeyFactory ;

import com.sun.corba.se.spi.orb.ORB ;
import com.sun.corba.se.spi.orb.ORBVersion ;
import com.sun.corba.se.spi.orb.ORBVersionFactory ;

import com.sun.corba.se.impl.ior.ObjectKeyFactoryImpl ;

/**
 * @author Ken Cavanaugh
 */
public final class JIDLObjectKeyTemplate extends NewObjectKeyTemplateBase
{
    /** This constructor reads the template ONLY from the stream.
    */
    public JIDLObjectKeyTemplate( ORB orb, int magic, int scid, InputStream is ) 
    {
	super( orb, magic, scid, is.read_long(), JIDL_ORB_ID, JIDL_OAID );

	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 ) ;
    }
    
    public JIDLObjectKeyTemplate( ORB orb, int scid, int serverid ) 
    {
	super( orb, ObjectKeyFactoryImpl.JAVAMAGIC_NEWER, scid, serverid, 
	    JIDL_ORB_ID, JIDL_OAID ) ; 

	setORBVersion( ORBVersionFactory.getORBVersion() ) ;
    }
   
    protected void writeTemplate( OutputStream os )
    {
	os.write_long( getMagic() ) ;
	os.write_long( getSubcontractId() ) ;
	os.write_long( getServerId() ) ;
    }
}