KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > corba > se > impl > ior > TaggedComponentFactoryFinderImpl


1 /*
2  * @(#)TaggedComponentFactoryFinderImpl.java 1.17 03/12/19
3  *
4  * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
5  * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
6  */

7
8 package com.sun.corba.se.impl.ior;
9
10 import java.util.HashMap JavaDoc;
11 import java.util.Map JavaDoc;
12
13 import com.sun.corba.se.spi.ior.Identifiable ;
14 import com.sun.corba.se.spi.ior.IdentifiableFactory ;
15 import com.sun.corba.se.spi.ior.IdentifiableFactoryFinder ;
16 import com.sun.corba.se.spi.ior.TaggedComponent ;
17 import com.sun.corba.se.spi.ior.TaggedComponentFactoryFinder ;
18
19 import com.sun.corba.se.impl.ior.GenericTaggedComponent ;
20 import com.sun.corba.se.impl.ior.IdentifiableFactoryFinderBase ;
21
22 import com.sun.corba.se.impl.encoding.EncapsOutputStream ;
23
24 import com.sun.corba.se.spi.orb.ORB ;
25
26 import org.omg.CORBA_2_3.portable.InputStream JavaDoc ;
27
28 /**
29  * @author Ken Cavanaugh
30  */

31 public class TaggedComponentFactoryFinderImpl extends
32     IdentifiableFactoryFinderBase implements TaggedComponentFactoryFinder
33 {
34     public TaggedComponentFactoryFinderImpl( ORB orb )
35     {
36     super( orb ) ;
37     }
38
39     public Identifiable handleMissingFactory( int id, InputStream JavaDoc is ) {
40     return new GenericTaggedComponent( id, is ) ;
41     }
42
43     public TaggedComponent create( org.omg.CORBA.ORB JavaDoc orb,
44     org.omg.IOP.TaggedComponent JavaDoc comp )
45     {
46     EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
47     org.omg.IOP.TaggedComponentHelper.write( os, comp ) ;
48     InputStream JavaDoc is = (InputStream JavaDoc)(os.create_input_stream() ) ;
49     // Skip the component ID: we just wrote it out above
50
is.read_ulong() ;
51
52     return (TaggedComponent)create( comp.tag, is ) ;
53     }
54 }
55
Popular Tags