⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 persistentbindingiterator.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)PersistentBindingIterator.java	1.11 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *//* * @(#)TransientBindingIterator.java	1.36 99/07/16 *  * Copyright 1993-1997 Sun Microsystems, Inc. 901 San Antonio Road,  * Palo Alto, California, 94303, U.S.A.  All Rights Reserved. *  * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information").  You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. *  * CopyrightVersion 1.2 *  */package com.sun.corba.se.impl.naming.pcosnaming;// Import general CORBA classesimport org.omg.CORBA.SystemException;import org.omg.CORBA.ORB;import org.omg.CORBA.INTERNAL;// Get org.omg.CosNaming Typesimport org.omg.CosNaming.Binding;import org.omg.CosNaming.BindingType;import org.omg.CosNaming.BindingTypeHolder;import org.omg.CosNaming.NameComponent;import org.omg.PortableServer.POA;// Get base implementationimport com.sun.corba.se.impl.naming.pcosnaming.NamingContextImpl;import com.sun.corba.se.impl.naming.pcosnaming.InternalBindingValue;import com.sun.corba.se.impl.naming.cosnaming.BindingIteratorImpl;// Get a hash tableimport java.util.Hashtable;import java.util.Enumeration;/** * Class TransientBindingIterator implements the abstract methods * defined by BindingIteratorImpl, to use with the TransientNamingContext * implementation of the NamingContextImpl. The TransientBindingIterator * implementation receives a hash table of InternalBindingValues, and uses * an Enumeration to iterate over the contents of the hash table. * @see BindingIteratorImpl * @see TransientNamingContext */public class PersistentBindingIterator extends BindingIteratorImpl{    private POA biPOA;    /**     * Constructs a new PersistentBindingIterator object.     * @param orb a org.omg.CORBA.ORB object.     * @param aTable A hashtable containing InternalBindingValues which is     * the content of the PersistentNamingContext.     * @param java.lang.Exception a Java exception.     * @exception Exception a Java exception thrown of the base class cannot     * initialize.   */    public PersistentBindingIterator(org.omg.CORBA.ORB orb, Hashtable aTable,        POA thePOA ) throws java.lang.Exception    {	super(orb);	this.orb = orb;	theHashtable = aTable;	theEnumeration = this.theHashtable.keys();	currentSize = this.theHashtable.size();        biPOA = thePOA;    }    /**   * Returns the next binding in the NamingContext. Uses the enumeration   * object to determine if there are more bindings and if so, returns   * the next binding from the InternalBindingValue.   * @param b The Binding as an out parameter.   * @return true if there were more bindings.   */    final public boolean NextOne(org.omg.CosNaming.BindingHolder b)    {	// If there are more elements get the next element	boolean hasMore = theEnumeration.hasMoreElements();	if (hasMore) {            InternalBindingKey theBindingKey =		 ((InternalBindingKey)theEnumeration.nextElement());            InternalBindingValue theElement =		(InternalBindingValue)theHashtable.get( theBindingKey );	    NameComponent n = new NameComponent( theBindingKey.id, theBindingKey.kind ); 	    NameComponent[] nlist = new NameComponent[1];	    nlist[0] = n;            BindingType theType = theElement.theBindingType;	    	    b.value =	        new Binding( nlist, theType );		} else {	    // Return empty but marshalable binding	    b.value = new Binding(new NameComponent[0],BindingType.nobject);	}	return hasMore;    }    /**   * Destroys this BindingIterator by disconnecting from the ORB   * @exception org.omg.CORBA.SystemException One of a fixed set of CORBA system exceptions.   */    final public void Destroy()    {        // Remove the object from the Active Object Map.        try {            byte[] objectId = biPOA.servant_to_id( this );            if( objectId != null ) {                biPOA.deactivate_object( objectId );            }        }        catch( Exception e ) {            throw new INTERNAL( "Exception in BindingIterator.Destroy " + e );        }    }    /**   * Returns the remaining number of elements in the iterator.   * @return the remaining number of elements in the iterator.      */    public final int RemainingElements() {	return currentSize;    }    private int currentSize;    private Hashtable theHashtable;    private Enumeration theEnumeration;    private org.omg.CORBA.ORB orb;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -