org.omg.PortableInterceptor

Interface RequestInfoOperations

Known Subinterfaces:
ClientRequestInfo, ClientRequestInfoOperations, RequestInfo, ServerRequestInfo, ServerRequestInfoOperations

public interface RequestInfoOperations

Defines operations that are applicable for both server and client request. The additional operations, specific to the server and client request are defined in the derived interfaces ServerRequestInfoOperations and ClientRequestInfoOperations.

Method Summary

Parameter[]
arguments()
Return the parameters of the operation being invoked.
String[]
contexts()
Returns the names of all contexts of the operation being invoked.
TypeCode[]
exceptions()
Returns the typecodes, defining all exceptions that the operation may throw.
Object
forward_reference()
If the request contains forwarding information (the reply_status attribute being LOCATION_FORWARD), return the forwarding target.
ServiceContext
get_reply_service_context(int ctx_name)
Get the service context with the given ctx_name that is associated with the reply.
ServiceContext
get_request_service_context(int ctx_name)
Get the service context with the given ctx_name that is associated with the request.
Any
get_slot(int id)
Get the data from the given slot of the PortableInterceptor.Current that is in the scope of the request.
String
operation()
Get the name of the operation being invoked.
String[]
operation_context()
Get the names of the service contexts being sent on the request.
short
reply_status()
Get the reoly state as result of the operation invocation.
int
request_id()
Get the request id.
boolean
response_expected()
Indicates whether request sender expected any response.
Any
result()
Get the result of the operation invocation.
short
sync_scope()
Determines how far the request shall progress before control is returned to the client.

Method Details

arguments

public Parameter[] arguments()
Return the parameters of the operation being invoked.
Returns:
the array, containing parameters of the operations or an empty array for the operations with no parameters.
Throws:
NO_RESOURCES - if the parameters are not available. The parameters are only available for DII (via Request or DSI calls. They are not available for calls via IDL - generated stubs.

contexts

public String[] contexts()
Returns the names of all contexts of the operation being invoked.
Returns:
the array of strings, defining contexts.
Throws:
NO_RESOURCES - if the contexts are not available. The contexts are only available for DII (via Request or DSI calls. They are not available for calls via IDL - generated stubs.

exceptions

public TypeCode[] exceptions()
Returns the typecodes, defining all exceptions that the operation may throw.
Returns:
the array of exception typecodes, empty array if the operation should not throw any exceptions.
Throws:
NO_RESOURCES - if the exception list is not available. This list is only available for DII (via Request or DSI calls and only on the client side. It is not available for calls via IDL - generated stubs or on the server side.

forward_reference

public Object forward_reference()
If the request contains forwarding information (the reply_status attribute being LOCATION_FORWARD), return the forwarding target.
Returns:
the object where the request should be forwarded.

get_reply_service_context

public ServiceContext get_reply_service_context(int ctx_name)
            throws BAD_PARAM
Get the service context with the given ctx_name that is associated with the reply.
Parameters:
ctx_name - the name of the service context
Returns:
the copy of the corresponding context.
Throws:
BAD_PARAM - minor 26, if the context with the give ctx_name does not exist.

get_request_service_context

public ServiceContext get_request_service_context(int ctx_name)
            throws BAD_PARAM
Get the service context with the given ctx_name that is associated with the request.
Parameters:
ctx_name - the name of the service context
Returns:
the copy of the corresponding context.
Throws:
BAD_PARAM - minor 26, if the context with the give ctx_name does not exist.

get_slot

public Any get_slot(int id)
            throws InvalidSlot
Get the data from the given slot of the PortableInterceptor.Current that is in the scope of the request.

operation

public String operation()
Get the name of the operation being invoked.
Returns:
the name of the operation, usually the name of method being called.

operation_context

public String[] operation_context()
Get the names of the service contexts being sent on the request.
Returns:
array of strings, naming the contexts.

reply_status

public short reply_status()
Get the reoly state as result of the operation invocation.
Returns:
the value field of one of the following: SUCCESSFUL, SYSTEM_EXCEPTION, USER_EXCEPTION, LOCATION_FORWARD or TRANSPORT_RETRY.

request_id

public int request_id()
Get the request id.
Returns:
an id that uniquely identifies the current request/reply sequence.

response_expected

public boolean response_expected()
Indicates whether request sender expected any response.
Returns:
true if the response was expected, false otherwise.

result

public Any result()
Get the result of the operation invocation.
Returns:
an Any, containing the value, returned by the performed operation.

sync_scope

public short sync_scope()
Determines how far the request shall progress before control is returned to the client. However up till JDK 1.5 inclusive this method always returns SYNC_WITH_TRANSPORT.
Returns:
SYNC_WITH_TRANSPORT.value (1), always.

RequestInfoOperations.java -- Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.