Package winstone.jndi

Source Code of winstone.jndi.WinstoneNameEnumeration

/*
* Copyright 2003-2006 Rick Knowles <winstone-devel at lists sourceforge net>
* Distributed under the terms of either:
* - the common development and distribution license (CDDL), v1.0; or
* - the GNU Lesser General Public License, v2.1 or later
*/
package winstone.jndi;

import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map;
import java.util.Vector;

import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;

/**
* Enumeration across the names/classes of the bindings in a particular context.
* Used by the list() method.
*
* @author <a href="mailto:rick_knowles@hotmail.com">Rick Knowles</a>
* @version $Id: WinstoneNameEnumeration.java,v 1.3 2006/02/28 07:32:48 rickknowles Exp $
*/
public class WinstoneNameEnumeration implements NamingEnumeration {
    private Enumeration nameEnumeration;
   
    /**
     * Constructor
     */
    public WinstoneNameEnumeration(Map bindings) {
        Object keys[] = bindings.keySet().toArray();
        Arrays.sort(keys);
        Vector nameClassPairs = new Vector();
        for (int n = 0; n < keys.length; n++)
            nameClassPairs.add(new NameClassPair((String) keys[n], bindings
                    .get(keys[n]).getClass().getName()));
        this.nameEnumeration = nameClassPairs.elements();
    }

    public void close() throws NamingException {
        this.nameEnumeration = null;
    }

    public boolean hasMore() throws NamingException {
        if (this.nameEnumeration == null)
            throw new NamingException(ContainerJNDIManager.JNDI_RESOURCES
                    .getString("WinstoneNameEnumeration.AlreadyClosed"));
        else
            return this.nameEnumeration.hasMoreElements();
    }

    public Object next() throws NamingException {
        if (hasMore())
            return this.nameEnumeration.nextElement();
        else
            return null;
    }

    public boolean hasMoreElements() {
        try {
            return hasMore();
        } catch (NamingException err) {
            return false;
        }
    }

    public Object nextElement() {
        try {
            return next();
        } catch (NamingException err) {
            return null;
        }
    }

}
TOP

Related Classes of winstone.jndi.WinstoneNameEnumeration

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.