java命名空间javax.naming.spi接口dirstatefactory的类成员方法:
getstatetobind定义及介绍
本文导语:
getstatetobind
dirstatefactory.result getstatetobind(object obj,
name name,
context namectx,
hashtable environment,
attri...
getstatetobind
dirstatefactory.result getstatetobind(object obj,
name name,
context namectx,
hashtable,?> environment,
attributes inattrs)
throws namingexception
- 在给定要传输的对象和属性的情况下检索用于绑定的对象的状态。
directorymanager.getstatetobind() 接连在状态工厂中加载。如果某一工厂实现 dirstatefactory,则 directorymanager 将调用此方法;否则,它将调用 statefactory.getstatetobind()。它将持续这样做,直到某一工厂产生非 null 响应。
当某一工厂抛出异常时,该异常被传递给 directorymanager.getstatetobind() 的调用者。停止搜索可能产生非 null 应答的其他工厂。工厂只有在可以确定它是唯一需要的工厂并且不应该再尝试其他工厂时才抛出异常。如果此对象工厂无法使用所提供的参数创建对象,则它应该返回 null。
可以有选择地使用 name
和 namectx
参数来指定要创建的对象的名称。有关详细信息,请参阅 objectfactory.getobjectinstance()
中“名称和上下文参数”的描述。如果某一工厂使用 namectx
,则它应该将其使用与并发访问同步,因为无法保证上下文实现是线程安全的。
name、inattrs 和 environment 参数都归调用者所有。该实现不会修改这些对象或保存对它们的引用,尽管它可能保存对这些对象的副本的引用。此方法返回的对象归调用者所有。该实现随后不会对它进行修改。它或者包含一个同样归调用者所有的新 attributes 对象,或者包含对原始 inattrs 参数的引用。
- 参数:
obj
- 将检索其状态的对象(可能为 null)。name
- 此对象相对于 namectx
的名称,如果没有指定名称,则该参数为 null。namectx
- 一个上下文,name
参数是相对于该上下文指定的,如果 name
相对于默认初始上下文,则该参数为 null。environment
- 将在创建对象的状态时使用的环境(可能为 null)。inattrs
- 将与对象绑定在一起的属性(可能为 null)。该工厂不得修改 inattrs。
- 返回:
- 一个 result,它包含用于绑定的对象状态和要绑定的相应属性;如果该对象没有使用此工厂,则返回 null。
- 抛出:
namingexception
- 如果此工厂在试图获得对象的状态时遇到异常,并且不再尝试其他工厂。- 另请参见:
directorymanager.getstatetobind(java.lang.object, javax.naming.name, javax.naming.context, java.util.hashtable, ?>, javax.naming.directory.attributes)