在线文档教程
Erlang 20

CosNaming_NamingContext

CosNaming_NamingContext

模块

CosNaming_NamingContext

模块摘要

此接口支持上下文中名称的不同绑定和访问功能。

描述

这是定义名称范围的对象,名称在命名上下文中必须是唯一的。对象可能具有多个名称,并且可能存在于多个命名上下文中。名称上下文可以在其他上下文中命名,并且允许循环。

下面NameComponent使用的类型定义为:

-record('CosNaming_NameComponent', {id, kind=""}).

id和kind是字符串。

下面Binding使用的类型定义为:

-record('CosNaming_Binding', {binding_name, binding_type}).

其中binding_name是一个名称,binding_type是一个枚举,其值为nobject和ncontext。

这两个记录都在文件中定义。CosNaming.hrl它包括:

-include_lib("orber/COSS/CosNaming/CosNaming.hrl").

这个接口中的函数可以返回一些异常。

  • NotFound被定义为-record('CosNaming_NamingContext_NotFound',{rest_of_name,why})。

  • CannotProceed被定义为

-record('CosNaming_NamingContext_CannotProceed',{rest_of_name,cxt})。

  • InvalidName被定义为-record('CosNaming_NamingContext_InvalidName',{})。

  • NotFound被定义为

-record('CosNaming_NamingContext_NotFound',{})。

  • AlreadyBound被定义为-record('CosNaming_NamingContext_AlreadyBound',{})。

  • Notempty被定义为

-record('CosNaming_NamingContext_NotEmpty',{)。

这些例外是在文件中定义的CosNaming_NamingContext.hrl,它包含在:

-include_lib("orber/COSS/CosNaming/CosNaming_NamingContext.hrl").

输出

bind(NamingContext, Name, Object) -> Return

类型

在命名上下文中创建名称和对象的绑定。命名使用bind()绑定的上下文不参与名称解析。

rebind(NamingContext, Name, Object) -> Return

类型

即使名称已经绑定,也可以在命名上下文中创建名称和对象的绑定。使用rebind()绑定的命名上下文不参与名称解析。

bind_context(NamingContext1, Name, NamingContex2) -> Return

类型

bind_context函数在当前上下文中创建名称和命名上下文的绑定。使用bind_context()绑定的命名上下文参与名称解析。

rebind_context(NamingContext1, Name, NamingContex2) -> Return

类型

即使名称已被绑定,rebind_context函数也会在当前上下文中创建名称和命名上下文的绑定。命名使用rebind_context()绑定的上下文参与名称解析。

resolve(NamingContext, Name) -> Return

类型

解析函数是在命名上下文中检索绑定到名称的对象的方法。给定的名称必须完全匹配绑定名称。对象的类型不返回,客户端负责将对象缩小到正确的类型。

unbind(NamingContext, Name) -> Return

类型

解除绑定操作将从命名上下文中删除名称绑定。

new_context(NamingContext) -> Return

类型

new_context操作创建一个新的命名上下文。

bind_new_context(NamingContext, Name) -> Return

类型

new_context操作创建一个新的命名上下文,并将其绑定到当前上下文中的Name。

destroy(NamingContext) -> Return

类型

destroy操作处理NamingContext对象并将其从名称服务器中删除。上下文必须为空,例如不包含任何要删除的绑定。

list(NamingContext, HowMany) -> Return

类型

列表操作返回一个绑定列表,其中包含许多从上下文到HowMany的绑定。它还返回一个BindinIterator,它可以用来遍历列表。如果现有绑定的总数小于或等于该HowMany参数,则返回NIL对象引用。

除非是NIL对象引用,否则必须使用'BindingIterator'销毁BindingIterator:destroy()。否则,可以得到晃动的物体。