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

IORTemplateListImpl

public class IORTemplateListImpl extends FreezableList implements com.sun.corba.se.spi.ior.IORTemplateList

Fields Summary
Constructors Summary
public IORTemplateListImpl()

	super( new ArrayList() ) ;
    
public IORTemplateListImpl(org.omg.CORBA_2_3.portable.InputStream is)

	this() ;
	int size = is.read_long() ;
	for (int ctr=0; ctr<size; ctr++) {
	    IORTemplate iortemp = IORFactories.makeIORTemplate( is ) ;
	    add( iortemp ) ;
	}

	makeImmutable() ;
    
Methods Summary
public voidadd(int index, java.lang.Object element)

	if (element instanceof IORTemplate) {
	    super.add( index, element ) ;
	} else if (element instanceof IORTemplateList) {
	    IORTemplateList tl = (IORTemplateList)element ;
	    addAll( index, tl ) ;
	} else
	    throw new IllegalArgumentException() ;
    
public booleanisEquivalent(com.sun.corba.se.spi.ior.IORFactory other)

	if (!(other instanceof IORTemplateList))
	    return false ;

	IORTemplateList list = (IORTemplateList)other ;

	Iterator thisIterator = iterator() ;
	Iterator listIterator = list.iterator() ;
	while (thisIterator.hasNext() && listIterator.hasNext()) {
	    IORTemplate thisTemplate = (IORTemplate)thisIterator.next() ;
	    IORTemplate listTemplate = (IORTemplate)listIterator.next() ;
	    if (!thisTemplate.isEquivalent( listTemplate ))
		return false ;
	}

	return thisIterator.hasNext() == listIterator.hasNext() ;
    
public com.sun.corba.se.spi.ior.IORmakeIOR(com.sun.corba.se.spi.orb.ORB orb, java.lang.String typeid, com.sun.corba.se.spi.ior.ObjectId oid)

	return new IORImpl( orb, typeid, this, oid ) ;
    
public voidmakeImmutable()

	makeElementsImmutable() ;
	super.makeImmutable() ;
    
public java.lang.Objectset(int index, java.lang.Object element)

	if (element instanceof IORTemplate) {
	    return super.set( index, element ) ;
	} else if (element instanceof IORTemplateList) {
	    Object result = remove( index ) ;
	    add( index, element ) ;
	    return result ;
	} else
	    throw new IllegalArgumentException() ;
    
public voidwrite(org.omg.CORBA_2_3.portable.OutputStream os)

	os.write_long( size() ) ;
	Iterator iter = iterator() ;
	while (iter.hasNext()) {
	    IORTemplate iortemp = (IORTemplate)(iter.next()) ;
	    iortemp.write( os ) ;
	}