javax.naming.spi

Interface ObjectFactoryBuilder

public interface ObjectFactoryBuilder

This interface represents a builder that creates object factories.

The JNDI framework allows for object implementations to be loaded in dynamically via object factories. For example, when looking up a printer bound in the name space, if the print service binds printer names to References, the printer Reference could be used to create a printer object, so that the caller of lookup can directly operate on the printer object after the lookup. An ObjectFactory is responsible for creating objects of a specific type. JNDI uses a default policy for using and loading object factories. You can override this default policy by calling NamingManager.setObjectFactoryBuilder() with an ObjectFactoryBuilder, which contains the program-defined way of creating/loading object factories. Any ObjectFactoryBuilder implementation must implement this interface that for creating object factories.

Since:
1.3
See Also:
ObjectFactory, NamingManager.getObjectInstance(Object,Name,Context,Hashtable), NamingManager.setObjectFactoryBuilder(ObjectFactoryBuilder)

Method Summary

ObjectFactory
createObjectFactory(Object obj, Hashtable environment)
Creates a new object factory using the environment supplied.

Method Details

createObjectFactory

public ObjectFactory createObjectFactory(Object obj,
                                         Hashtable environment)
            throws NamingException
Creates a new object factory using the environment supplied.

The environment parameter is owned by the caller. The implementation will not modify the object or keep a reference to it, although it may keep a reference to a clone or copy.

Parameters:
obj - The possibly null object for which to create a factory.
environment - Environment to use when creating the factory. Can be null.
Returns:
A non-null new instance of an ObjectFactory.
Throws:
NamingException - If an object factory cannot be created.