| 接口 | 描述 | 
|---|---|
| BindingIterator | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| BindingIteratorOperations | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| NamingContext | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
| NamingContextExt | NamingContextExt是NamingContext的NamingContext,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| NamingContextExtOperations | NamingContextExt是NamingContext的NamingContext,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| NamingContextOperations | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
| 类 | 描述 | 
|---|---|
| _BindingIteratorImplBase | |
| _BindingIteratorStub | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| _NamingContextExtStub | NamingContextExt是NamingContext的NamingContext,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| _NamingContextImplBase | |
| _NamingContextStub | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
| Binding | 
           org / omg / CosNaming / Binding.java。 
          | 
| BindingHelper | 
           org / omg / CosNaming / BindingHelper.java。 
          | 
| BindingHolder | 
           org / omg / CosNaming / BindingHolder.java。 
          | 
| BindingIteratorHelper | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| BindingIteratorHolder | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| BindingIteratorPOA | 
           BindingIterator接口允许客户端使用next_one或next_n操作来迭代绑定。 
          | 
| BindingListHelper | 
           绑定清单。 
          | 
| BindingListHolder | 
           绑定清单。 
          | 
| BindingType | 
           指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。 
          | 
| BindingTypeHelper | 
           指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。 
          | 
| BindingTypeHolder | 
           指定给定的绑定是针对对象(不是命名上下文)还是用于命名上下文。 
          | 
| IstringHelper | 
           org / omg / CosNaming / IstringHelper.java。 
          | 
| NameComponent | 
           org / omg / CosNaming / NameComponent.java。 
          | 
| NameComponentHelper | 
           org / omg / CosNaming / NameComponentHelper.java。 
          | 
| NameComponentHolder | 
           org / omg / CosNaming / NameComponentHolder.java。 
          | 
| NameHelper | 
           名称是名称组件的序列。 
          | 
| NameHolder | 
           名称是名称组件的序列。 
          | 
| NamingContextExtHelper | NamingContextExt是NamingContext的NamingContext,它包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| NamingContextExtHolder | NamingContextExt是NamingContext的NamingContext,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| NamingContextExtPOA | NamingContextExt是NamingContext的NamingContext,其中包含一组名称绑定,其中每个名称是唯一的,并且是可互操作命名服务的一部分。 | 
| NamingContextHelper | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
| NamingContextHolder | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
| NamingContextPOA | 
           命名上下文是一个包含一组名称绑定的对象,其中每个名称都是唯一的。 
          | 
 软件包及其所有类和接口是通过在文件nameservice.idl上运行工具idlj ,该文件nameservice.idl OMG IDL编写的模块。 
有关Java [tm] Platform,Standard Edition 6,ORB符合的官方规范支持部分的精确列表,请参阅Official Specifications for CORBA support in Java[tm] SE 6 。
接口是:
 这两个接口提供绑定/取消绑定名称和对象引用,检索绑定对象引用以及遍历绑定列表的方法。 NamingContext接口提供了命名服务的主要功能, BindingIterator提供了一种迭代名称/对象引用绑定列表的方法。 
NamingContext和BindingIterator使用的生成的辅助类的注释。 
     
    NamingContext和BindingIterator使用的BindingIterator public final class NameComponent - 一个名字的构建块。 (名称绑定到命名上下文中的对象引用。)  名称是一个或多个NameComponent对象的数组。 一个名字与一个NameComponent被称为一个简单的名字 ; 具有多个NameComponent对象的名称称为复合名称 。 
 一个NameComponent对象由两个字段组成: 
id - a String用作标识符 kind -一个String可用于任何描述性的目的。 它的重要性在于它可以用来描述一个对象而不影响语法。 例如,C编程语言使用将扩展名“.c”附加到文件名的句法约定,以指示它是源代码文件。 在NameComponent对象中, kind字段可用于描述对象的类型,而不是文件扩展名或其他一些句法约定。 所述的值的实例kind字段包括琴弦"c_source" , "object_code" , "executable" , "postscript"和"" 。 kind字段是空字符串并不罕见。  以一个名字,每个NameComponent对象除了最后一个表示一个NamingContext对象; 最后一个NameComponent对象表示绑定的对象引用。 这与路径名称类似,其中最后一个名称是文件名,其前面的所有名称都是目录名称。 
public final class Binding - 将名称与对象引用或命名上下文相关联的对象。 一个Binding对象有两个字段: 
      binding_name - 表示绑定名称的一个或多个NameComponent对象的数组 binding_type - 一个BindingType对象,指示绑定是在名称和对象引用之间,还是在名称和命名上下文之间  界面NamingContext具有用于绑定/取消绑定名称与对象引用或命名上下文,列表绑定和解析绑定的方法(给定一个名称,方法resolve返回绑定到其上的对象引用)。 
public final class BindingType - 一个对象,指定给定的Binding对象是名称和对象引用(即不是命名上下文)之间或名称和命名上下文之间的绑定。  BindingType类由两个方法和四个常数组成。 其中两个常数是BindingType对象,两个是int s。 
 BindingType对象可以传递给类Binding的构造Binding或用作参数或返回值。 这些BindingType对象是: 
public static final BindingType nobject - 表示绑定与对象引用 public static final BindingType ncontext - 表示绑定与命名上下文  可以将int常量提供给方法from_int以创建BindingType对象,或者它们可以返回方法value值。 这些常数是: 
public static final int _nobject public static final int _ncontext from_int提供了除_nobject或_ncontext之外的任何东西,它将抛出异常org.omg.CORBA.BAD_PARAM 。 用法如下:
  BindingType btObject = from_int(_nobject);
       BindingType btContext = from_int(_ncontext);  变量btObject引用了一个BindingType对象,该对象被初始化以表示具有对象引用的绑定。 变量btContext是指一个BindingType对象,初始化为表示与NamingContex对象的绑定。  方法value返回_nobject或_ncontext ,所以在以下代码行中,变量bt将包含_nobject或_ncontext : 
  int bt = BindingType.value(); value字段。 
    这允许它执行OUT或INOUT参数的功能。 
     为包org.omg.CosNaming以下持有人类别: 
NamingContextHolder BindingIteratorHolder BindingHolder BindingListHolder BindingTypeHolder NameComponentHolder NameHolder  需要注意的是,在org.omg.CORBA包,则每个基本Java类型的holder类: IntHolder , ShortHolder , StringHolder ,等等。 
 还需要注意的是有一个NameHolder即使没有课Name类; 同样,还有一个BindingListHolder即使没有课BindingList类。 这是真的,因为在OMG IDL界面中, Name和BindingList都是typedef 。 没有从IDL typedef到Java构造的映射,但是如果typedef用于序列或数组,则会生成typedef类。 由于映射到Java编程语言, Name是NameComponent对象的数组,而BindingList是Binding对象的数组。 所有持有者类至少有两个构造函数和一个字段: 
value字段 - 用作OUT或INOUT参数的类型实例。 例如, value字段的NamingContextHolder将是一个NamingContext对象。 BindingHolder函数创建的新的BindingHolder对象将其value字段设置为null ,因为它是对象的默认值。 其他默认设置是false为boolean , 0对于数字和char类型,并null对象引用。 value函数,该对象的value字段是使用实例初始化的 用户定义类型(Java类)的持有者类具有三种方法,但应用程序开发人员不直接使用它们。
 应用程序员使用的辅助类中只有一种方法:方法narrow 。 只有从IDL接口映射的Java接口将有一个助手类,其中包含一个narrow方法,所以在CosNaming包中,只有类NamingContextHelper和BindingIteratorHelper具有narrow方法。 
public static NamingContext narrow(org.omg.CORBA.Object obj) - 将给定的CORBA对象转换为NamingContext对象 public static BindingIterator narrow(org.omg.CORBA.Object obj) - 将给定的CORBA对象转换为BindingIterator对象 org.omg.CosNaming.NamingContextPackage org.omg.CosNaming以及NotFoundReason类提供了助手和持有NotFoundReason ,这提供了异常NotFound的原因。 
    Helper和Holder课程有以下例外:
AlreadyBound CannotProceed InvalidName NotEmpty NotFound CosNaming包装与OMG符合COSNaming规范。 
    换句话说,Sun的命名服务中的API是根据OMG提供的命名服务的指导来实现的。 
    因此,如果第三方供应商实施符合OMG的命名服务,则可以在Sun的CosNaming CosNaming与第三方供应商的实施之间切换。 
    然而,重要的是要明白,不同的供应商实现命名服务的方式可能会有很小的变化,例如异常字符串的差异。 
    COSNaming实现。 
    以下是以下步骤: 
    /tmp/services ,并将以下内容放入其中: NameService, <Stringified IOR of the Root Naming Context> 。  这将使NameService与要使用的NameService实现的根命名上下文相关CosNaming 。 
   java -classpath $(CLASSPATH) com.sun.corba.ee.internal.CosNaming.BootstrapServer -InitialServicesFile "/tmp/services" [-ORBInitialPort port]  请注意,命令结尾处的方括号表示指定端口号是可选的。
 现在当应用程序调用方法org.omg.CORBA.ORB.resolve_initial_references时,CORBA进程将联系引导服务器以获取根命名上下文。 
CosNaming API的概述和示例,请参阅: 
     
    有关Java IDL的概述,请参阅:
 Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.