Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.omg.CORBA
Class Request

    java.lang.Object
      |
      +--org.omg.CORBA.Request

public abstract class Request
extends Object

An object containing the information necessary for invoking a method. This class is the cornerstone of the ORB Dynamic Invocation Interface (DII), which allows dynamic creation and invocation of requests. A server cannot tell the difference between a client invocation using a client stub and a request using the DII.

A `Request` object consists of:

- the name of the operation to be invoked
- an `NVList` containing arguments for the operation.
  Each item in the list is a `NamedValue` object, which has three parts:
  1. the name of the argument
  2. the value of the argument (as an `Any` object)
  3. the argument mode flag indicating whether the argument is for input, output, or both

`Request` objects may also contain additional information, depending on how an operation was defined in the original IDL interface definition. For example, where appropriate, they may contain a `NamedValue` object to hold the return value or exception, a context, a list of possible exceptions, and a list of context strings that need to be resolved.

New `Request` objects are created using one of the `create_request` methods in the `Object` class. In other words, a `create_request` method is performed on the object which is to be invoked.

See Also:
  `NamedValue`

Constructor Summary
`Request()`

Method Summary
`abstract Any` | `add_in_arg()` Creates an input argument and adds it to this `Request` object.
`abstract Any` | `add_inout_arg()` Adds an input/output argument to this `Request` object.
`abstract Any` | `add_named_in_arg(String name)` Creates an input argument with the given name and adds it to this `Request` object.
`abstract Any` | `add_named_inout_arg(String name)` Adds an input/output argument with the given name to this `Request` object.
`abstract Any` | `add_named_out_arg(String name)` Adds an output argument with the given name to this `Request` object.
`abstract Any` | `add_out_arg()` Adds an output argument to this `Request` object.
`abstract NVList` | `arguments()` Retrieves the `NVList` object containing the arguments to the method being invoked.
`abstract ContextList` | `contexts()` Retrieves the `ContextList` object for this request.
`abstract Context` | `ctx()` Retrieves the `Context` object for this request.
`abstract void` | `ctx(Context c)` Sets this request's `Context` object to the one given.
`abstract Environment` | `env()` Retrieves the `Environment` object for this request.
`abstract ExceptionList` | `exceptions()` Retrieves the `ExceptionList` object for this request.
`abstract void` | `get_response()` Allows the user to access the response for the invocation triggered earlier with the `send_deferred` method.
`abstract void` | `invoke()` Makes a synchronous invocation using the information in the `Request` object.
`abstract String` | `operation()` Retrieves the name of the method to be invoked.
`abstract boolean` | `poll_response()` Allows the user to determine whether a response has been received for the invocation triggered earlier with the `send_deferred` method.
`abstract NamedValue` | `result()` Retrieves the `NamedValue` object containing the return value for the method.
`abstract Any` | `return_value()` Returns the `Any` object that contains the value for the result of the method.
`abstract void` | `send_deferred()` Makes an asynchronous invocation on the request.
`abstract void` | `send_oneway()` Makes a oneway invocation on the request.
`abstract void` | `set_return_type(TypeCode tc)` Sets the typecode for the return value of the method.
`abstract Object` | `target()` Retrieves the the target object reference.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Request

    public Request()

Method Detail

### target

    public abstract Object target()

  Retrieves the the target object reference.

  Returns:
    the object reference that points to the object implementation for the method to be invoked

### operation

    public abstract String operation()

  Retrieves the name of the method to be invoked.

  Returns:
    the name of the method to be invoked

### arguments

    public abstract NVList arguments()

  Retrieves the `NVList` object containing the arguments to the method being invoked. The elements in the list are `NamedValue` objects, with each one describing an argument to the method.

  Returns:
    the `NVList` object containing the arguments for the method

### result

    public abstract NamedValue result()

  Retrieves the `NamedValue` object containing the return value for the method.

  Returns:
    the `NamedValue` object containing the result of the method

### env

    public abstract Environment env()

  Retrieves the `Environment` object for this request. It contains the exception that the method being invoked has thrown (after the invocation returns).

  Returns:
    the `Environment` object for this request

### exceptions

    public abstract ExceptionList exceptions()

  Retrieves the `ExceptionList` object for this request. This list contains `TypeCode` objects describing the exceptions that may be thrown by the method being invoked.

  Returns:
    the `ExceptionList` object describing the exceptions that may be thrown by the method being invoked

### contexts

    public abstract ContextList contexts()

  Retrieves the `ContextList` object for this request. This list contains context `String`s that need to be resolved and sent with the invocation.

  Returns:
    the list of context strings whose values need to be resolved and sent with the invocation.

### ctx

    public abstract Context ctx()

  Retrieves the `Context` object for this request. This is a list of properties giving information about the client, the environment, or the circumstances of this request.

  Returns:
    the `Context` object that is to be used to resolve any context strings whose values need to be sent with the invocation

### ctx

    public abstract void ctx(Context c)

  Sets this request's `Context` object to the one given.

  Parameters:
    `c` - the new `Context` object to be used for resolving context strings

### add_in_arg

    public abstract Any add_in_arg()

  Creates an input argument and adds it to this `Request` object.

  Returns:
    an `Any` object that contains the value and typecode for the input argument added

### add_named_in_arg

    public abstract Any add_named_in_arg(String name)

  Creates an input argument with the given name and adds it to this `Request` object.

  Parameters:
    `name` - the name of the argument being added
  Returns:
    an `Any` object that contains the value and typecode for the input argument added

### add_inout_arg

    public abstract Any add_inout_arg()

  Adds an input/output argument to this `Request` object.

  Returns:
    an `Any` object that contains the value and typecode for the input/output argument added

### add_named_inout_arg

    public abstract Any add_named_inout_arg(String name)

  Adds an input/output argument with the given name to this `Request` object.

  Parameters:
    `name` - the name of the argument being added
  Returns:
    an `Any` object that contains the value and typecode for the input/output argument added

### add_out_arg

    public abstract Any add_out_arg()

  Adds an output argument to this `Request` object.

  Returns:
    an `Any` object that contains the value and typecode for the output argument added

### add_named_out_arg

    public abstract Any add_named_out_arg(String name)

  Adds an output argument with the given name to this `Request` object.

  Parameters:
    `name` - the name of the argument being added
  Returns:
    an `Any` object that contains the value and typecode for the output argument added

### set_return_type

    public abstract void set_return_type(TypeCode tc)

  Sets the typecode for the return value of the method.

  Parameters:
    `tc` - the `TypeCode` object containing type information for the return value

### return_value

    public abstract Any return_value()

  Returns the `Any` object that contains the value for the result of the method.

  Returns:
    an `Any` object containing the value and typecode for the return value

### invoke

    public abstract void invoke()

  Makes a synchronous invocation using the information in the `Request` object. Exception information is placed into the `Request` object's environment object.

### send_oneway

    public abstract void send_oneway()

  Makes a oneway invocation on the request. In other words, it does not expect or wait for a response. Note that this can be used even if the operation was not declared as oneway in the IDL declaration. No response or exception information is returned.

### send_deferred

    public abstract void send_deferred()

  Makes an asynchronous invocation on the request. In other words, it does not wait for a response before it returns to the user. The user can then later use the methods `poll_response` and `get_response` to get the result or exception information for the invocation.

### poll_response

    public abstract boolean poll_response()

  Allows the user to determine whether a response has been received for the invocation triggered earlier with the `send_deferred` method.

  Returns:
    `true` if the method response has been received; `false` otherwise

### get_response

    public abstract void get_response()
                               throws WrongTransaction

  Allows the user to access the response for the invocation triggered earlier with the `send_deferred` method.

  Throws:
    `WrongTransaction` - if the method `get_response` was invoked from a different transaction's scope than the one from which the request was originally sent. See the OMG Transaction Service specification for details.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.