KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > corba > se > spi > ior > TaggedProfileTemplate


1 /*
2  * @(#)TaggedProfileTemplate.java 1.11 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.spi.ior;
9
10 import java.util.List JavaDoc ;
11 import java.util.Iterator JavaDoc ;
12
13 import org.omg.CORBA_2_3.portable.OutputStream JavaDoc ;
14
15 import com.sun.corba.se.spi.ior.Identifiable ;
16 import com.sun.corba.se.spi.ior.Writeable ;
17 import com.sun.corba.se.spi.ior.ObjectId ;
18 import com.sun.corba.se.spi.ior.WriteContents ;
19
20 import com.sun.corba.se.spi.orb.ORB ;
21
22 /** Base template for creating TaggedProfiles. A TaggedProfile will often contain
23 * tagged components. A template that does not contain components acts like
24 * an empty immutable list.
25 *
26 * @author Ken Cavanaugh
27 */

28 public interface TaggedProfileTemplate extends List JavaDoc, Identifiable,
29     WriteContents, MakeImmutable
30 {
31     /** Return an iterator that iterates over tagged components with
32     * identifier id. It is not possible to modify the list through this
33     * iterator.
34     */

35     public Iterator JavaDoc iteratorById( int id ) ;
36
37     /** Create a TaggedProfile from this template.
38     */

39     TaggedProfile create( ObjectKeyTemplate oktemp, ObjectId id ) ;
40
41     /** Write the profile create( oktemp, id ) to the OutputStream os.
42     */

43     void write( ObjectKeyTemplate oktemp, ObjectId id, OutputStream JavaDoc os) ;
44
45     /** Return true if temp is equivalent to this template. Equivalence
46      * means that in some sense an invocation on a profile created by this
47      * template has the same results as an invocation on a profile
48      * created from temp. Equivalence may be weaker than equality.
49      */

50     boolean isEquivalent( TaggedProfileTemplate temp );
51
52     /** Return the tagged components in this profile (if any)
53      * in the GIOP marshalled form, which is required for Portable
54      * Interceptors. Returns null if either the profile has no
55      * components, or if this type of profile can never contain
56      * components.
57      */

58     org.omg.IOP.TaggedComponent JavaDoc[] getIOPComponents(
59     ORB orb, int id );
60 }
61
Popular Tags