- /*
- * @(#)TaggedProfileTemplate.java 1.11 03/12/19
- *
- * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
- * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
- */
-
- package com.sun.corba.se.spi.ior;
-
- import java.util.List ;
- import java.util.Iterator ;
-
- import org.omg.CORBA_2_3.portable.OutputStream ;
-
- import com.sun.corba.se.spi.ior.Identifiable ;
- import com.sun.corba.se.spi.ior.Writeable ;
- import com.sun.corba.se.spi.ior.ObjectId ;
- import com.sun.corba.se.spi.ior.WriteContents ;
-
- import com.sun.corba.se.spi.orb.ORB ;
-
- /** Base template for creating TaggedProfiles. A TaggedProfile will often contain
- * tagged components. A template that does not contain components acts like
- * an empty immutable list.
- *
- * @author Ken Cavanaugh
- */
- public interface TaggedProfileTemplate extends List, Identifiable,
- WriteContents, MakeImmutable
- {
- /** Return an iterator that iterates over tagged components with
- * identifier id. It is not possible to modify the list through this
- * iterator.
- */
- public Iterator iteratorById( int id ) ;
-
- /** Create a TaggedProfile from this template.
- */
- TaggedProfile create( ObjectKeyTemplate oktemp, ObjectId id ) ;
-
- /** Write the profile create( oktemp, id ) to the OutputStream os.
- */
- void write( ObjectKeyTemplate oktemp, ObjectId id, OutputStream os) ;
-
- /** Return true if temp is equivalent to this template. Equivalence
- * means that in some sense an invocation on a profile created by this
- * template has the same results as an invocation on a profile
- * created from temp. Equivalence may be weaker than equality.
- */
- boolean isEquivalent( TaggedProfileTemplate temp );
-
- /** Return the tagged components in this profile (if any)
- * in the GIOP marshalled form, which is required for Portable
- * Interceptors. Returns null if either the profile has no
- * components, or if this type of profile can never contain
- * components.
- */
- org.omg.IOP.TaggedComponent[] getIOPComponents(
- ORB orb, int id );
- }