java.lang.Object javax.naming.spi.NamingManager javax.naming.spi.DirectoryManager
public class DirectoryManager
此类包含支持 DirContext 实现的方法。
此类是 NamingManager 的一个扩展。它包含一些方法供服务提供者用来访问对象工厂和状态工厂,并用来获得连续上下文以支持联合。
将 DirectoryManager 用于多个线程的并发访问是安全的。
除非另有说明,否则传递给任何方法的 Name、Attributes 或环境参数都归调用者所有。该实现不会修改对象或保持对该对象的引用,尽管可能保持对其副本的引用。
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 |
方法详细信息 |
---|
public static DirContext getContinuationDirContext(CannotProceedException cpe) throws NamingException
cpe
- 触发此连续的非 null 异常。
NamingException
- 如果发生命名异常。
NamingManager.getContinuationContext(CannotProceedException)
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws Exception
除以下不同之处外,此方法与 NamingManager.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()。
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)
public static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws NamingException
除以下不同之处外,此方法与 NamingManager.getStateToBind 类似:
有关如何确定要尝试的状态工厂列表的描述,请参见 NamingManager.getStateToBind()。
此方法返回的对象归调用者所有。该实现随后不会对它进行修改。它或者包含一个同样归调用者所有的新 Attributes 对象,或者包含对原始 attrs 参数的引用。
obj
- 将为其获得要绑定的状态的非 null 对象。
name
- 此对象相对于
nameCtx
的名称,如果没有指定名称,则该参数为 null。
nameCtx
- 一个上下文,
name
参数是相对于该上下文指定的,如果
name
相对于默认初始上下文,则该参数为 null。
environment
- 将在创建状态工厂和对象状态时使用的环境(可能为 null)。
attrs
- 将与对象绑定在一起的属性(可能为 null)。
NamingException
- 如果使用这些工厂时遇到命名异常。工厂只有在不希望试图使用其他工厂创建对象时才抛出异常。请参见
DirStateFactory.getStateToBind()。
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
)