org.omg.CosNaming

接口
所有已知子接口:
NamingContext, NamingContextExt, NamingContextExtOperations
所有已知实现类:
_NamingContextExtStub, _NamingContextImplBase, _NamingContextStub, NamingContextExtPOA, NamingContextPOA

public interface NamingContextOperations

命名上下文是包含一组名称绑定的对象,在这些名称绑定中,每个名称都是唯一的。可以同时将不同名称绑定到相同或不同上下文中的对象。

请参阅 CORBA COS 命名规范


方法摘要
 void bind_context(NameComponent[] n, NamingContext nc)
          命名作为命名上下文的对象。
 NamingContext bind_new_context(NameComponent[] n)
          此操作创建新上下文并将其绑定到作为参数提供的名称。
 void bind(NameComponent[] n, Object obj)
          在命名上下文中创建名称和对象的绑定。
 void destroy()
          destroy 操作删除命名上下文。
 void list(int how_many, BindingListHolder bl, BindingIteratorHolder bi)
          list 操作允许客户端迭代命名上下文中的一组绑定。
 NamingContext new_context()
          此操作返回调用该操作的上下文的命名服务器实现的命名上下文。
 void rebind_context(NameComponent[] n, NamingContext nc)
          在命名上下文中创建名称和命名上下文的绑定,即使该名称已经绑定在上下文中。
 void rebind(NameComponent[] n, Object obj)
          在命名上下文中创建名称和对象的绑定,即使该名称已经绑定在上下文中。
 Object resolve(NameComponent[] n)
          解析操作是指检索绑定到给定上下文中名称的对象的过程。
 void unbind(NameComponent[] n)
          unbind 操作从上下文移除名称绑定。
 

方法详细信息

bind

void bind(NameComponent[] n,
          Object obj)
          throws NotFound,
                 CannotProceed,
                 InvalidName,
                 AlreadyBound
在命名上下文中创建名称和对象的绑定。在传递组合名称以进行解析时,使用 bind 绑定的命名上下文不参与名称解析。

参数:
n - 对象名

obj - 要与给定名称绑定在一起的对象

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。

AlreadyBound - 指示已将对象绑定到指定名称。


bind_context

void bind_context(NameComponent[] n,
                  NamingContext nc)
                  throws NotFound,
                         CannotProceed,
                         InvalidName,
                         AlreadyBound
命名作为命名上下文的对象。在传递组合名称以进行解析时,使用 bind_context() 绑定的命名上下文参与名称解析。

参数:
n - 对象名

nc - 要与给定名称绑定在一起的 NamingContect 对象

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。

AlreadyBound - 指示已将对象绑定到指定名称。


rebind

void rebind(NameComponent[] n,
            Object obj)
            throws NotFound,
                   CannotProceed,
                   InvalidName
在命名上下文中创建名称和对象的绑定,即使该名称已经绑定在上下文中。在传递组合名称以进行解析时,使用 rebind 绑定的命名上下文不参与名称解析。

参数:
n - 对象名

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。


rebind_context

void rebind_context(NameComponent[] n,
                    NamingContext nc)
                    throws NotFound,
                           CannotProceed,
                           InvalidName
在命名上下文中创建名称和命名上下文的绑定,即使该名称已经绑定在上下文中。在传递组合名称以进行解析时,使用 rebind_context() 绑定的命名上下文参与名称解析。

参数:
n - 对象名

nc - 要与给定名称重新绑定在一起的 NamingContect 对象

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。


resolve

Object resolve(NameComponent[] n)
               throws NotFound,
                      CannotProceed,
                      InvalidName
解析操作是指检索绑定到给定上下文中名称的对象的过程。给定名称必须与绑定名称完全匹配。命名服务不返回对象的类型。客户端负责将对象“收缩”为适当的类型。即客户端通常将返回对象由 Object 强制转换为更专用的接口。

参数:
n - 对象名

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。


unbind

void unbind(NameComponent[] n)
            throws NotFound,
                   CannotProceed,
                   InvalidName
unbind 操作从上下文移除名称绑定。

参数:
n - 对象名

抛出:
NotFound - 指示名称不标识绑定。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。


list

void list(int how_many,
          BindingListHolder bl,
          BindingIteratorHolder bi)
list 操作允许客户端迭代命名上下文中的一组绑定。

list 操作在 BindingList bl 中返回最多可以达到的请求绑定数。

  • 如果命名上下文包含附加绑定,则 list 操作将返回带有附加绑定的 BindingIterator。
  • 如果命名上下文不包含附加绑定,则绑定迭代器为 nil 对象引用。

参数:
how_many - 要返回的最大绑定数

bl - 返回的绑定列表

bi - 返回的绑定迭代器


new_context

NamingContext new_context()
此操作返回调用该操作的上下文的命名服务器实现的命名上下文。没有将新上下文绑定到任何名称。


bind_new_context

NamingContext bind_new_context(NameComponent[] n)
                               throws NotFound,
                                      AlreadyBound,
                                      CannotProceed,
                                      InvalidName
此操作创建新上下文并将其绑定到作为参数提供的名称。新创建的上下文由将其绑定到的上下文的命名服务器(即实现名称参数(最后一个组件除外)表示的上下文的命名服务器)实现。

参数:
n - 对象名

抛出:
NotFound - 指示名称不标识绑定。

AlreadyBound - 指示已将对象绑定到指定名称。

CannotProceed - 指示由于某种原因放弃了实现。不过,客户端也可能在返回的命名上下文中继续该操作。

InvalidName - 指示名称无效。


destroy

void destroy()
             throws NotEmpty
destroy 操作删除命名上下文。如果命名上下文包含绑定,则引发 NotEmpty 异常。

抛出:
NotEmpty - 指示命名上下文包含绑定。