NVList (Java SE 9 & JDK 9 )
Keywords: org.omg.CORBA.NVList class

Module java.corba
Package org.omg.CORBA

## Class NVList

- java.lang.Object
- - org.omg.CORBA.NVList

-     public abstract class NVList
      extends Object

  A modifiable list containing `NamedValue` objects.

  The class `NVList` is used as follows:

  - to describe arguments for a `Request` object in the Dynamic Invocation Interface and the Dynamic Skeleton Interface
  - to describe context values in a `Context` object

  Each `NamedValue` object consists of the following:

  - a name, which is a `String` object
  - a value, as an `Any` object
  - an argument mode flag

  An `NVList` object may be created using one of the following `ORB` methods:

  1. `org.omg.CORBA.ORB.create_list`

             org.omg.CORBA.NVList nv = orb.create_list(3);

     The variable `nv` represents a newly-created `NVList` object. The argument is a memory-management hint to the orb and does not imply the actual length of the list. If, for example, you want to use an `NVList` object in a request, and the method being invoked takes three parameters, you might optimize by supplying 3 to the method `create_list`. Note that the new `NVList` will not necessarily have a length of 3; it could have a length of 2 or 4, for instance. Note also that you can add any number of `NamedValue` objects to this list regardless of its original length.
  2. `org.omg.CORBA.ORB.create_operation_list`

             org.omg.CORBA.NVList nv = orb.create_operation_list(myOperationDef);

     The variable `nv` represents a newly-created `NVList` object that contains descriptions of the arguments to the method described in the given `OperationDef` object.

  The methods in the class `NVList` all deal with the `NamedValue` objects in the list. There are three methods for adding a `NamedValue` object, a method for getting the count of `NamedValue` objects in the list, a method for retrieving a `NamedValue` object at a given index, and a method for removing a `NamedValue` object at a given index.

  Since:
    JDK1.2
  See Also:
    `Request`, `ServerRequest`, `NamedValue`, `Context`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `NVList​()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract NamedValue` | `add​(int flags)` | Creates a new `NamedValue` object initialized with the given flag and adds it to the end of this `NVList` object.
    `abstract NamedValue` | `add_item​(String item_name, int flags)` | Creates a new `NamedValue` object initialized with the given name and flag, and adds it to the end of this `NVList` object.
    `abstract NamedValue` | `add_value​(String item_name, Any val, int flags)` | Creates a new `NamedValue` object initialized with the given name, value, and flag, and adds it to the end of this `NVList` object.
    `abstract int` | `count​()` | Returns the number of `NamedValue` objects that have been added to this `NVList` object.
    `abstract NamedValue` | `item​(int index)` | Retrieves the `NamedValue` object at the given index.
    `abstract void` | `remove​(int index)` | Removes the `NamedValue` object at the given index.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NVList

          public NVList​()

  - ### Method Detail

    - #### count

          public abstract int count​()

      Returns the number of `NamedValue` objects that have been added to this `NVList` object.
      Returns:
        an `int` indicating the number of `NamedValue` objects in this `NVList`.

    - #### add

          public abstract NamedValue add​(int flags)

      Creates a new `NamedValue` object initialized with the given flag and adds it to the end of this `NVList` object. The flag can be any one of the argument passing modes: `ARG_IN.value`, `ARG_OUT.value`, or `ARG_INOUT.value`.
      Parameters:
        `flags` - one of the argument mode flags
      Returns:
        the newly-created `NamedValue` object

    - #### add_item

          public abstract NamedValue add_item​(String item_name,
                                              int flags)

      Creates a new `NamedValue` object initialized with the given name and flag, and adds it to the end of this `NVList` object. The flag can be any one of the argument passing modes: `ARG_IN.value`, `ARG_OUT.value`, or `ARG_INOUT.value`.
      Parameters:
        `item_name` - the name for the new `NamedValue` object
        `flags` - one of the argument mode flags
      Returns:
        the newly-created `NamedValue` object

    - #### add_value

          public abstract NamedValue add_value​(String item_name,
                                               Any val,
                                               int flags)

      Creates a new `NamedValue` object initialized with the given name, value, and flag, and adds it to the end of this `NVList` object.
      Parameters:
        `item_name` - the name for the new `NamedValue` object
        `val` - an `Any` object containing the value for the new `NamedValue` object
        `flags` - one of the following argument passing modes: `ARG_IN.value`, `ARG_OUT.value`, or `ARG_INOUT.value`
      Returns:
        the newly created `NamedValue` object

    - #### item

          public abstract NamedValue item​(int index)
                                   throws Bounds

      Retrieves the `NamedValue` object at the given index.
      Parameters:
        `index` - the index of the desired `NamedValue` object, which must be between zero and the length of the list minus one, inclusive. The first item is at index zero.
      Returns:
        the `NamedValue` object at the given index
      Throws:
        `Bounds` - if the index is greater than or equal to number of `NamedValue` objects

    - #### remove

          public abstract void remove​(int index)
                               throws Bounds

      Removes the `NamedValue` object at the given index. Note that the indices of all `NamedValue` objects following the one removed are shifted down by one.
      Parameters:
        `index` - the index of the `NamedValue` object to be removed, which must be between zero and the length of the list minus one, inclusive. The first item is at index zero.
      Throws:
        `Bounds` - if the index is greater than or equal to number of `NamedValue` objects in the list