75
76 // --------- object factory stuff
77
78 /**
79 * Package-private; used by DirectoryManager and NamingManager.
80 */
81 private static ObjectFactoryBuilder object_factory_builder = null;
82
83 /**
84 * The ObjectFactoryBuilder determines the policy used when
85 * trying to load object factories.
86 * See getObjectInstance() and class ObjectFactory for a description
87 * of the default policy.
88 * setObjectFactoryBuilder() overrides this default policy by installing
89 * an ObjectFactoryBuilder. Subsequent object factories will
90 * be loaded and created using the installed builder.
91 *<p>
92 * The builder can only be installed if the executing thread is allowed
93 * (by the security manager's checkSetFactory() method) to do so.
94 * Once installed, the builder cannot be replaced.
95 *<p>
96 * @param builder The factory builder to install. If null, no builder
97 * is installed.
98 * @exception SecurityException builder cannot be installed
99 * for security reasons.
100 * @exception NamingException builder cannot be installed for
101 * a non-security-related reason.
102 * @exception IllegalStateException If a factory has already been installed.
103 * @see #getObjectInstance
104 * @see ObjectFactory
105 * @see ObjectFactoryBuilder
106 * @see java.lang.SecurityManager#checkSetFactory
107 */
108 public static synchronized void setObjectFactoryBuilder(
109 ObjectFactoryBuilder builder) throws NamingException {
110 if (object_factory_builder != null)
111 throw new IllegalStateException("ObjectFactoryBuilder already set");
112
113 SecurityManager security = System.getSecurityManager();
114 if (security != null) {
115 security.checkSetFactory();
|
75
76 // --------- object factory stuff
77
78 /**
79 * Package-private; used by DirectoryManager and NamingManager.
80 */
81 private static ObjectFactoryBuilder object_factory_builder = null;
82
83 /**
84 * The ObjectFactoryBuilder determines the policy used when
85 * trying to load object factories.
86 * See getObjectInstance() and class ObjectFactory for a description
87 * of the default policy.
88 * setObjectFactoryBuilder() overrides this default policy by installing
89 * an ObjectFactoryBuilder. Subsequent object factories will
90 * be loaded and created using the installed builder.
91 *<p>
92 * The builder can only be installed if the executing thread is allowed
93 * (by the security manager's checkSetFactory() method) to do so.
94 * Once installed, the builder cannot be replaced.
95 *
96 * @param builder The factory builder to install. If null, no builder
97 * is installed.
98 * @exception SecurityException builder cannot be installed
99 * for security reasons.
100 * @exception NamingException builder cannot be installed for
101 * a non-security-related reason.
102 * @exception IllegalStateException If a factory has already been installed.
103 * @see #getObjectInstance
104 * @see ObjectFactory
105 * @see ObjectFactoryBuilder
106 * @see java.lang.SecurityManager#checkSetFactory
107 */
108 public static synchronized void setObjectFactoryBuilder(
109 ObjectFactoryBuilder builder) throws NamingException {
110 if (object_factory_builder != null)
111 throw new IllegalStateException("ObjectFactoryBuilder already set");
112
113 SecurityManager security = System.getSecurityManager();
114 if (security != null) {
115 security.checkSetFactory();
|