The javax.naming.spi package defines the service provider interface (SPI) for JNDI. Only system programmers who are developing JNDI providers need to use this package; JNDI application programmers can ignore it. The classes and interfaces in this package allow JNDI service providers to be plugged in underneath the JNDI API. Figure 24-1 shows the hierarchy of this package.
DirectoryManager | JNDI 1.1 | |
|
||
javax.naming.spi |
DirectoryManager is a subclass of NamingManager that contains a method for creating javax.naming.directory.DirContext objects.
public class DirectoryManager extends NamingManager { | ||
// | No Constructor | |
// | Public Class Methods | |
public static javax.naming.directory.DirContext getContinuationDirContext (CannotProceedException cpe) throws NamingException; | ||
} |
Hierarchy: Object-->NamingManager-->DirectoryManager
InitialContextFactory | JNDI 1.1 | |
|
||
javax.naming.spi |
This interface represents a factory that creates an initial context for a naming or directory service. The initial context serves as the entry point into the service. A JNDI service provider always includes an InitialContextFactory that can be used as the value of the java.naming.factory.initial property
public abstract interface InitialContextFactory { | ||
// | Public Instance Methods | |
public abstract javax.naming.Context getInitialContext (java.util.Hashtable environment) throws NamingException; | ||
} |
Returned By: InitialContextFactoryBuilder.createInitialContextFactory()
InitialContextFactoryBuilder | JNDI 1.1 | |
|
||
javax.naming.spi |
This interface represents a builder that creates initial context factories. A program can override the default initial context factory builder by calling NamingManager.setInitialContextFactoryBuilder() and specifying a new builder. Such a builder must implement this interface.
public abstract interface InitialContextFactoryBuilder { | ||
// | Public Instance Methods | |
public abstract InitialContextFactory createInitialContextFactory (java.util.Hashtable environment) throws NamingException; | ||
} |
Passed To: NamingManager.setInitialContextFactoryBuilder()
NamingManager | JNDI 1.1 | |
|
||
javax.naming.spi |
The NamingManager class contains methods for creating javax.naming.Context objects and otherwise controlling the operation of the underlying service provider.
public class NamingManager { | ||
// | No Constructor | |
// | Public Class Methods | |
public static javax.naming.Context getContinuationContext (CannotProceedException cpe) throws NamingException; | ||
public static javax.naming.Context getInitialContext (java.util.Hashtable environment) throws NamingException; | ||
public static Object getObjectInstance (Object refInfo, Name name, javax.naming.Context nameCtx, java.util.Hashtable environment) throws Exception; | ||
public static javax.naming.Context getURLContext (String scheme, java.util.Hashtable environment) throws NamingException; | ||
public static boolean hasInitialContextFactoryBuilder (); | synchronized | |
public static void setInitialContextFactoryBuilder (InitialContextFactoryBuilder builder) throws NamingException; | synchronized | |
public static void setObjectFactoryBuilder (ObjectFactoryBuilder builder) throws NamingException; | synchronized | |
} |
Subclasses: DirectoryManager
ObjectFactory | JNDI 1.1 | |
|
||
javax.naming.spi |
This interface represents a factory for creating objects. JNDI supports the dynamic loading of object implementations with object factories. For example, say you have a naming system that binds file objects to names in the namespace. If the filesystem service provider binds filenames to Reference objects, a Reference object can create a file object through an object factory. This means that a call to lookup() a filename (in the appropriate Context) returns an actual file object the programmer can manipulate as necessary. An ObjectFactory is responsible for creating objects of a specific type.
public abstract interface ObjectFactory { | ||
// | Public Instance Methods | |
public abstract Object getObjectInstance (Object obj, Name name, javax.naming.Context nameCtx, java.util.Hashtable environment) throws Exception; | ||
} |
Returned By: ObjectFactoryBuilder.createObjectFactory()
ObjectFactoryBuilder | JNDI 1.1 | |
|
||
javax.naming.spi |
This interface represents a builder that creates object factories. A program can override the default object factory builder by calling NamingManager.setObjectFactoryBuilder() and specifying a new builder. Such a builder must implement this interface.
public abstract interface ObjectFactoryBuilder { | ||
// | Public Instance Methods | |
public abstract ObjectFactory createObjectFactory (Object obj, java.util.Hashtable info) throws NamingException; | ||
} |
Passed To: NamingManager.setObjectFactoryBuilder()
Resolver | JNDI 1.1 | |
|
||
javax.naming.spi |
The Resolver interface contains methods that are implemented by objects that can act as intermediate contexts for naming resolution purposes.
public abstract interface Resolver { | ||
// | Public Instance Methods | |
public abstract ResolveResult resolveToClass (Name name, Class contextType) throws NamingException; | ||
public abstract ResolveResult resolveToClass (String name, Class contextType) throws NamingException; | ||
} |
ResolveResult | JNDI 1.1 | |
|
||
javax.naming.spi |
This class represents the result of resolving a name.
public class ResolveResult { | ||
// | Public Constructors | |
public ResolveResult (Object robj, Name rname); | ||
public ResolveResult (Object robj, String rcomp); | ||
// | Protected Constructors | |
protected ResolveResult (); | ||
// | Public Instance Methods | |
public void appendRemainingComponent (String name); | ||
public void appendRemainingName (Name name); | ||
public Name getRemainingName (); | ||
public Object getResolvedObj (); | ||
public void setRemainingName (Name name); | ||
public void setResolvedObj (Object obj); | ||
// | Protected Instance Fields | |
protected Name remainingName ; | ||
protected Object resolvedObj ; | ||
} |
Returned By: Resolver.resolveToClass()
Copyright © 2001 O'Reilly & Associates. All rights reserved.