/* Copyright (C) 2000 Free Software Foundation This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package javax.naming.spi; import java.util.Hashtable; import javax.naming.*; public class NamingManager { private static InitialContextFactoryBuilder icfb = null; public static boolean hasInitialContextFactoryBuilder () { return icfb != null; } public static Context getInitialContext (Hashtable environment) throws NamingException { InitialContextFactory icf = null; if (icfb != null) icf = icfb.createInitialContextFactory(environment); else { String java_naming_factory_initial = null; if (environment != null) java_naming_factory_initial = (String) environment.get (Context.INITIAL_CONTEXT_FACTORY); if (java_naming_factory_initial == null) throw new NoInitialContextException ("Can't find property: " + Context.INITIAL_CONTEXT_FACTORY); try { icf = (InitialContextFactory) Thread.currentThread().getContextClassLoader().loadClass(java_naming_factory_initial).newInstance(); } catch (Exception exception) { NoInitialContextException e = new NoInitialContextException("Can't load InitialContextFactory class: " + java_naming_factory_initial); e.setRootCause(exception); throw e; } } return icf.getInitialContext (environment); } public static Context getURLContext(String scheme, Hashtable environment) throws NamingException { throw new Error ("javax.naming.spi.NamingManager.getURLContext not implemented"); } }