You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.3 KiB
76 lines
2.3 KiB
/*
|
|
* Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
|
|
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*
|
|
*/
|
|
|
|
package javax.naming.spi;
|
|
|
|
import java.util.Hashtable;
|
|
import javax.naming.NamingException;
|
|
|
|
/**
|
|
* This interface represents a builder that creates object factories.
|
|
*<p>
|
|
* The JNDI framework allows for object implementations to
|
|
* be loaded in dynamically via <em>object factories</em>.
|
|
* 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 <tt>NamingManager.setObjectFactoryBuilder()</tt> with an ObjectFactoryBuilder,
|
|
* which contains the program-defined way of creating/loading
|
|
* object factories.
|
|
* Any <tt>ObjectFactoryBuilder</tt> implementation must implement this
|
|
* interface that for creating object factories.
|
|
*
|
|
* @author Rosanna Lee
|
|
* @author Scott Seligman
|
|
*
|
|
* @see ObjectFactory
|
|
* @see NamingManager#getObjectInstance
|
|
* @see NamingManager#setObjectFactoryBuilder
|
|
* @since 1.3
|
|
*/
|
|
public interface ObjectFactoryBuilder {
|
|
/**
|
|
* Creates a new object factory using the environment supplied.
|
|
*<p>
|
|
* 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.
|
|
*
|
|
* @param obj The possibly null object for which to create a factory.
|
|
* @param environment Environment to use when creating the factory.
|
|
* Can be null.
|
|
* @return A non-null new instance of an ObjectFactory.
|
|
* @exception NamingException If an object factory cannot be created.
|
|
*
|
|
*/
|
|
public ObjectFactory createObjectFactory(Object obj,
|
|
Hashtable<?,?> environment)
|
|
throws NamingException;
|
|
}
|