- 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 DirContextgetContinuationDirContext(CannotProceedException cpe)创建继续DirContext操作的上下文。static ObjectgetObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)为指定的对象,属性和环境创建对象的实例。static DirStateFactory.ResultgetStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs)在给定原始对象及其属性时,检索用于绑定的对象的状态。
-
-
-
方法详细信息
-
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 异常
为指定的对象,属性和环境创建对象的实例。除以下差异外,此方法与
NamingManager.getObjectInstance相同:- 它接受包含与对象关联的属性的
Attributes参数。DirObjectFactory可能使用这些属性来保存必须从目录中查找它们。 - 尝试的对象工厂必须实现
ObjectFactory或DirObjectFactory。 如果它实现DirObjectFactory,则使用DirObjectFactory.getObjectInstance(),否则使用ObjectFactory.getObjectInstance()。
DirContext接口的服务提供商应使用此方法,而不是NamingManager.getObjectInstance()。- 参数
-
refInfo- 要为其创建对象的可能为null的对象。 -
name- 此对象的名称相对于nameCtx。 指定名称是可选的; 如果省略,则name应为null。 -
nameCtx- 指定name参数的上下文。 如果为null,则name相对于默认初始上下文。 -
environment- 用于创建对象工厂和对象的可能为null的环境。 -
attrs- 与refInfo关联的可能为null的属性。 这可能不是refInfo的完整属性集; 您可以从目录中读取更多属性。 - 结果
-
使用
refInfo和attrs创建的对象; 或refInfo如果工厂无法创建对象。 - 异常
-
NamingException- 如果在尝试获取URL上下文时遇到命名异常,或者其中一个访问的工厂抛出NamingException。 -
异常- 如果访问的某个工厂抛出异常,或者在加载和实例化工厂和对象类时遇到错误。 如果工厂不希望在尝试创建对象时使用其他工厂,则工厂应该只抛出异常。 见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参数。 - 它返回一个非空的
DirStateFactory.Result实例,其中包含要绑定的对象以及绑定所附带的属性。 对象或属性可以为null。 - 所尝试的州工厂必须各自实施
StateFactory或DirStateFactory。 如果它实现DirStateFactory,则DirStateFactory.getStateToBind(); 否则,StateFactory.getStateToBind()。
DirContext接口的服务提供商应使用此方法,而不是NamingManager.getStateToBind()。有关如何确定要尝试的状态工厂列表的说明,请参阅NamingManager.getStateToBind()。
此方法返回的对象由调用者拥有。 实施不会随后修改它。 它将包含同样由调用者拥有的新
Attributes对象,或者包含对原始attrs参数的引用。- 参数
-
obj- 要为其绑定状态的非null对象。 -
name- 此对象相对于nameCtx的名称,如果未指定名称,则为null。 -
nameCtx- 指定name参数的上下文,如果name相对于默认初始上下文,则namenull。 -
environment- 用于创建状态工厂和对象状态的可能为null的环境。 -
attrs- 要与对象绑定的可能为null的属性。 - 结果
-
包含要绑定的对象和属性的非null DirStateFactory.Result。
如果没有状态工厂返回非空答案,则结果将包含具有原始属性的对象(
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<?, ?>)
- 它接受包含传递给
-
-