|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.naming.spi
类 DirectoryManager
java.lang.Object javax.naming.spi.NamingManager javax.naming.spi.DirectoryManager
-
public class DirectoryManager
- extends NamingManager
此类包含支持 DirContext 实现的方法。
此类是 NamingManager 的一个扩展。它包含一些方法供服务提供程序用来访问对象工厂和状态工厂,并用来获得连续上下文以支持联合。
将 DirectoryManager 用于多个线程的并发访问是安全的。
除非另有说明,否则传递给任何方法的 Name、Attributes 或环境参数都归调用方所有。该实现不会修改对象或保持对该对象的引用,尽管可能保持对其副本的引用。
- 从以下版本开始:
- 1.3
- 另请参见:
-
DirObjectFactory
,DirStateFactory
字段摘要 |
---|
从类 javax.naming.spi.NamingManager 继承的字段 |
---|
CPE |
方法摘要 | |
---|---|
static DirContext |
getContinuationDirContext(CannotProceedException cpe) 创建一个将继续某个 DirContext 操作的上下文。 |
static Object |
getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) 为指定对象、属性和环境创建一个对象实例。 |
static DirStateFactory.Result |
getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) 在给定初始对象及其属性时,检索用于绑定的对象的状态。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
方法详细信息 |
---|
getContinuationDirContext
public static DirContext getContinuationDirContext(CannotProceedException cpe) throws NamingException
- 创建一个将继续某个 DirContext 操作的上下文。此方法的运行非常类似于 NamingManager.getContinuationContext(),惟一的不同是它返回的连续上下文是一个 DirContext。
-
- 参数:
-
cpe
- 触发此连续的非 null 异常。 - 返回:
- 用于继续该操作的非 null DirContext 对象。
- 抛出:
-
NamingException
- 如果发生命名异常。 - 另请参见:
-
NamingManager.getContinuationContext(CannotProceedException)
getObjectInstance
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws Exception
-
为指定对象、属性和环境创建一个对象实例。
除以下不同之处外,此方法与 NamingManager.getObjectInstance 相同:
- 它接受包含与对象关联的属性的 Attributes 参数。DirObjectFactory 可以使用这些属性来保存所拥有的对象,以便从目录中查找它们。
- 所尝试的对象工厂必须实现 ObjectFactory 或 DirObjectFactory。如果它实现 DirObjectFactory,则使用 DirObjectFactory.getObjectInstance(),否则使用 ObjectFactory.getObjectInstance()。
-
- 参数:
-
refInfo
- 将为之创建对象的对象(可能为 null)。 -
name
- 此对象的相对于nameCtx
的名称。指定名称是可选操作;如果忽略名称,则name
应该为 null。 -
nameCtx
- 一个上下文,name
参数是相对于该上下文指定的。如果为 null,则name
相对于默认初始上下文。 -
environment
- 将在创建对象和对象工厂时使用的环境(可能为 null)。 -
attrs
- 与 refInfo 关联的属性(可能为 null)。这些属性可能不是用于 refInfo 的完整属性集,可以从目录中读取更多的属性。 - 返回:
-
使用
refInfo
和 attrs 创建的对象;如果无法通过工厂创建对象,则返回refInfo
。 - 抛出:
-
NamingException
- 如果在试图获得 URL 上下文时遇到命名异常,或者受访问的工厂之一抛出 NamingException。 -
Exception
- 如果受访问的工厂之一抛出异常,或者加载和实例化工厂和对象类时遇到错误。工厂只有在不希望试图使用其他工厂创建对象时才抛出异常。请参见 DirObjectFactory.getObjectInstance()。 - 从以下版本开始:
- 1.3
- 另请参见:
-
NamingManager.getURLContext(java.lang.String, java.util.Hashtable)
,DirObjectFactory
,DirObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, javax.naming.directory.Attributes)
getStateToBind
public static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws NamingException
-
在给定初始对象及其属性时,检索用于绑定的对象的状态。
除以下不同之处外,此方法与 NamingManager.getStateToBind 类似:
- 它接受包含传递给 DirContext.bind() 方法的属性的 Attributes 参数。
- 它返回一个非 null DirStateFactory.Result 实例,该实例包含将被绑定的对象,以及伴随该绑定的属性。该对象和属性都可以为 null。
- 每个所尝试的状态工厂都必须实现 StateFactory 或 DirStateFactory。如果它实现 DirStateFactory,则调用 DirStateFactory.getStateToBind();否则调用 StateFactory.getStateToBind()。
有关如何确定要尝试的状态工厂列表的描述,请参见 NamingManager.getStateToBind()。
此方法返回的对象归调用方所有。该实现随后不会对它进行修改。它或者包含一个同样归调用方所有的新 Attributes 对象,或者包含对原始 attrs 参数的引用。
-
- 参数:
-
obj
- 将为其获得要绑定的状态的非 null 对象。 -
name
- 此对象相对于nameCtx
的名称,如果没有指定名称,则该参数为 null。 -
nameCtx
- 一个上下文,name
参数是相对于该上下文指定的,如果name
相对于默认初始上下文,则该参数为 null。 -
environment
- 将在创建状态工厂和对象状态时使用的环境(可能为 null)。 -
attrs
- 将与对象绑定在一起的属性(可能为 null)。 - 返回:
- 一个非 null DirStateFactory.Result,它包含要绑定的对象和属性。如果没有任何状态工厂返回非 null 应答,则结果将包含该对象本身 (obj) 以及原始属性。
- 抛出:
-
NamingException
- 如果使用这些工厂时遇到命名异常。工厂只有在不希望试图使用其他工厂创建对象时才抛出异常。请参见 DirStateFactory.getStateToBind()。 - 从以下版本开始:
- 1.3
- 另请参见:
-
DirStateFactory
,DirStateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable, javax.naming.directory.Attributes)
,NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |