org.omg.CORBA

接口
异常
java.lang.Object
  继承者 org.omg.CORBA.NVList

public abstract class NVList
     
extends Object

包含 NamedValue 对象所组成的可修改列表。

NVList 类的用途如下:

  • 描述动态调用接口 (Dynamic Invocation Interface) 和动态框架接口 (Dynamic Skeleton Interface) 中 Request 对象的参数
  • 描述 Context 对象中的上下文值

每个 NamedValue 对象都由以下部分组成:

  • 一个名称,该名称是一个 String 对象
  • 一个值,该值是一个 Any 对象
  • 一个参数模式标志

可以使用以下 ORB 方法之一创建 NVList 对象:

  1. org.omg.CORBA.ORB.create_list
        org.omg.CORBA.NVList nv = orb.create_list(3);
     
    变量 nv 表示一个新创建的 NVList 对象。该参数是 orb 的内存管理提示,并不意味着实际的列表长度。例如,如果要在某一请求中使用 NVList 对象,则将被调用的方法将采用三个参数,您可以通过向 create_list 方法提供 3 来优化此操作。注意,新的 NVList 没必要将长度设置为 3;例如,它可以将长度设置为 2 或 4。还要注意的是,您可以将任意数量的 NamedValue 对象添加到此列表中,不管其原始长度如何。

  2. org.omg.CORBA.ORB.create_operation_list
        org.omg.CORBA.NVList nv = orb.create_operation_list(myOperationDef);
     
    变量 nv 表示新创建的 NVList 对象,该对象包含对给定 OperationDef 对象中所描述方法的参数的描述。

NVList 类中的方法都要处理列表中的 NamedValue 对象。有三个方法可用于添加 NamedValue 对象,一个方法用于获得列表中 NamedValue 对象的计数,另一个方法用于检索给定索引处的 NamedValue 对象,还有一个方法用于移除给定索引处的 NamedValue 对象。

从以下版本开始:
JDK1.2
另请参见:
Request, ServerRequest, NamedValue, Context

构造方法摘要
NVList()
           
 
方法摘要
abstract  NamedValue add_item(String item_name, int flags)
          创建一个新的 NamedValue 对象,使用给定名称和标志初始化该对象,并将它添加到此 NVList 对象的末尾。
abstract  NamedValue add_value(String item_name, Any val, int flags)
          创建一个新的 NamedValue 对象,使用给定名称、值和标志初始化该对象,并将它添加到此 NVList 对象的末尾。
abstract  NamedValue add(int flags)
          创建一个新的 NamedValue 对象,使用给定标志初始化该对象,并将它添加到此 NVList 对象的末尾。
abstract  int count()
          返回已添加到此 NVList 对象的 NamedValue 对象数。
abstract  NamedValue item(int index)
          检索给定索引处的 NamedValue 对象。
abstract  void remove(int index)
          移除位于给定索引处的 NamedValue 对象。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

NVList

public NVList()
方法详细信息

count

public abstract int count()
返回已添加到此 NVList 对象的 NamedValue 对象数。

返回:
指示此 NVListNamedValue 对象数的 int 值。

add

public abstract NamedValue add(int flags)
创建一个新的 NamedValue 对象,使用给定标志初始化该对象,并将它添加到此 NVList 对象的末尾。该标志可以是以下参数传递模式之一: ARG_IN.valueARG_OUT.valueARG_INOUT.value

参数:
flags - 参数模式标志之一
返回:
新创建的 NamedValue 对象

add_item

public abstract NamedValue add_item(String item_name,
                                    int flags)
创建一个新的 NamedValue 对象,使用给定名称和标志初始化该对象,并将它添加到此 NVList 对象的末尾。该标志可以是以下参数传递模式之一: ARG_IN.valueARG_OUT.valueARG_INOUT.value

参数:
item_name - 新 NamedValue 对象的名称
flags - 参数模式标志之一
返回:
新创建的 NamedValue 对象

add_value

public abstract NamedValue add_value(String item_name,
                                     Any val,
                                     int flags)
创建一个新的 NamedValue 对象,使用给定名称、值和标志初始化该对象,并将它添加到此 NVList 对象的末尾。

参数:
item_name - 新 NamedValue 对象的名称
val - 包含新 NamedValue 对象值的 Any 对象
flags - 以下参数传递模式之一: ARG_IN.valueARG_OUT.valueARG_INOUT.value
返回:
新创建的 NamedValue 对象

item

public abstract NamedValue item(int index)
                         throws Bounds
检索给定索引处的 NamedValue 对象。

参数:
index - 所需 NamedValue 对象的索引,该索引必须在 0 与列表长度减 1(包括两者)之间。第一个项位于索引 0 处。
返回:
位于给定索引处的 NamedValue 对象
抛出:
Bounds - 如果索引大于或等于此 NamedValue 对象的个数

remove

public abstract void remove(int index)
                     throws Bounds
移除位于给定索引处的 NamedValue 对象。注意,被移除对象之后的所有 NamedValue 对象的索引都将向下移动一位。

参数:
index - 要移除的 NamedValue 对象的索引,该索引必须在 0 与列表长度减 1(包括两者)之间。第一个项位于索引 0 处。
抛出:
Bounds - 如果索引大于或等于列表中 NamedValue 对象的个数