1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
|
package org.omg.PortableInterceptor;
/**
* org/omg/PortableInterceptor/ServerRequestInfoOperations.java .
* Generated by the IDL-to-Java compiler (portable), version "3.2"
* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
*/
/**
* Request Information, accessible to server-side request interceptors.
* <p>
* Some attributes and operations on <code>ServerRequestInfo</code> are not
* valid at all interception points. The following table shows the validity
* of each attribute or operation. If it is not valid, attempting to access
* it will result in a <code>BAD_INV_ORDER</code> being thrown with a
* standard minor code of 14.
* <p>
*
*
* <table border=1 summary="Shows the validity of each attribute or operation">
* <thead>
* <tr>
* <th> </th>
* <th id="rec_req_ser_con" valign="bottom">receive_request_<br>service_contexts</th>
* <th id="rec_req" valign="bottom">receive_request</th>
* <th id="send_rep" valign="bottom">send_reply</th>
* <th id="send_exc" valign="bottom">send_exception</th>
* <th id="send_oth" valign="bottom">send_other</th>
* </tr>
* </thead>
* <tbody>
*
*
* <tr>
* <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
* </tr>
*
* <tr><th id="req_id"><p align="left">request_id</p></th>
* <td headers="ri req_id rec_req_ser_con">yes</td>
* <td headers="ri req_id rec_req">yes</td>
* <td headers="ri req_id send_rep">yes</td>
* <td headers="ri req_id send_exc">yes</td>
* <td headers="ri req_id send_oth">yes</td></tr>
*
* <tr><th id="op"><p align="left">operation</p></th>
* <td headers="ri op rec_req_ser_con">yes</td>
* <td headers="ri op rec_req">yes</td>
* <td headers="ri op send_rep">yes</td>
* <td headers="ri op send_exc">yes</td>
* <td headers="ri op send_oth">yes</td></tr>
*
* <tr><th id="args"><p align="left">arguments</p></th>
* <td headers="ri args rec_req_ser_con">no </td>
* <td headers="ri args rec_req">yes<sub>1</sub></td>
* <td headers="ri args send_rep">yes</td>
* <td headers="ri args send_exc">no<sub>2</sub></td>
* <td headers="ri args send_oth">no<sub>2</sub>
* </td></tr>
*
* <tr><th id="exps"><p align="left">exceptions</p></th>
* <td headers="ri exps rec_req_ser_con">no </td>
* <td headers="ri exps rec_req">yes</td>
* <td headers="ri exps send_rep">yes</td>
* <td headers="ri exps send_exc">yes</td>
* <td headers="ri exps send_oth">yes</td></tr>
*
* <tr><th id="contexts"><p align="left">contexts</p></th>
* <td headers="ri contexts rec_req_ser_con">no </td>
* <td headers="ri contexts rec_req">yes</td>
* <td headers="ri contexts send_rep">yes</td>
* <td headers="ri contexts send_exc">yes</td>
* <td headers="ri contexts send_oth">yes</td></tr>
*
* <tr><th id="op_con"><p align="left">operation_context</p></th>
* <td headers="ri op_con rec_req_ser_con">no </td>
* <td headers="ri op_con rec_req">yes</td>
* <td headers="ri op_con send_rep">yes</td>
* <td headers="ri op_con send_exc">no </td>
* <td headers="ri op_con send_oth">no </td>
* </tr>
*
* <tr><th id="result"><p align="left">result</p></th>
* <td headers="ri result rec_req_ser_con">no </td>
* <td headers="ri result rec_req">no </td>
* <td headers="ri result send_rep">yes</td>
* <td headers="ri result send_exc">no </td>
* <td headers="ri result send_oth">no </td>
* </tr>
*
* <tr><th id="res_ex"><p align="left">response_expected</p></th>
* <td headers="ri res_ex rec_req_ser_con">yes</td>
* <td headers="ri res_ex rec_req">yes</td>
* <td headers="ri res_ex send_rep">yes</td>
* <td headers="ri res_ex send_exc">yes</td>
* <td headers="ri res_ex send_oth">yes</td></tr>
*
* <tr><th id="syn_scp"><p align="left">sync_scope</p></th>
* <td headers="ri syn_scp rec_req_ser_con">yes</td>
* <td headers="ri syn_scp rec_req">yes</td>
* <td headers="ri syn_scp send_rep">yes</td>
* <td headers="ri syn_scp send_exc">yes</td>
* <td headers="ri syn_scp send_oth">yes</td></tr>
*
* <tr><td><b>request_id</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>operation</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>arguments</b></td>
* <td>no </td> <td>yes<sub>1</sub</td>
* <td>yes</td> <td>no<sub>2</sub></td>
* <td>no<sub>2</sub>
* </td></tr>
*
* <tr><td><b>exceptions</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>contexts</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>operation_context</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>no </td> <td>no </td></tr>
*
* <tr><td><b>result</b></td>
* <td>no </td> <td>no </td> <td>yes</td> <td>no </td> <td>no </td></tr>
*
* <tr><td><b>response_expected</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>sync_scope</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>reply_status</b></td>
* <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>forward_reference</b></td>
* <td>no </td> <td>no </td> <td>no </td> <td>no </td> <td>yes<sub>2</sub>
* </td></tr>
*
* <tr><td><b>get_slot</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>get_request_service_context</b></td>
* <td>yes</td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>get_reply_service_context</b></td>
* <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr>
* <td colspan=6><i>ServerRequestInfo-specific:</i></td>
* </tr>
*
* <tr><td><b>sending_exception</b></td>
* <td>no </td> <td>no </td> <td>no </td> <td>yes</td> <td>no </td></tr>
*
* <tr><td><b>object_id</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td>
* <td>yes<sub>3</sub>
* </td></tr>
*
* <tr><td><b>adapter_id</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td>
* <td>yes<sub>3</sub>
* </td></tr>
*
* <tr><td><b>server_id</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>orb_id</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>adapter_name</b></td>
* <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>target_most_derived_interface</b></td>
* <td>no </td> <td>yes</td> <td>no<sub>4</sub></td>
* <td>no<sub>4</sub></td>
* <td>no<sub>4</sub>
* </td></tr>
*
* <tr><td><b>get_server_policy</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>set_slot</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
*
* <tr><td><b>target_is_a</b></td>
* <td>no </td> <td>yes</td> <td>no<sub>4</sub></td>
* <td>no<sub>4</sub></td>
* <td>no<sub>4</sub>
* </td></tr>
*
* <tr><td><b>add_reply_service_context</b></td>
* <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
* </tbody>
* </table>
*
* <ol>
* <li>When <code>ServerRequestInfo</code> is passed to
* <code>receive_request</code>, there is an entry in the list for
* every argument, whether in, inout, or out. But only the in and
* inout arguments will be available.</li>
* <li>If the <code>reply_status</code> attribute is not
* <code>LOCATION_FORWARD</code>, accessing this attribute will throw
* <code>BAD_INV_ORDER</code> with a standard minor code of 14.</li>
* <li>If the servant locator caused a location forward, or thrown an
* exception, this attribute/operation may not be available in this
* interception point. <code>NO_RESOURCES</code> with a standard minor
* code of 1 will be thrown if it is not available.</li>
* <li>The operation is not available in this interception point because
* the necessary information requires access to the target object's
* servant, which may no longer be available to the ORB. For example,
* if the object's adapter is a POA that uses a
* <code>ServantLocator</code>, then the ORB invokes the interception
* point after it calls <code>ServantLocator.postinvoke()</code></li>.
* </ol>
*
* @see ServerRequestInterceptor
*/
public interface ServerRequestInfoOperations extends org.omg.PortableInterceptor.RequestInfoOperations
{
/**
* Returns an any which contains the exception to be returned to
* the client.
* <p>
* If the exception is a user exception which cannot be inserted into
* an any (e.g., it is unknown or the bindings don't provide the
* <code>TypeCode</code>), then this attribute will be an any
* containing the system exception <code>UNKNOWN</code> with a
* standard minor code of 1.
*
* @see <a href="package-summary.html#unimpl">
* <code>PortableInterceptor</code> package comments for
* limitations / unimplemented features</a>
*/
org.omg.CORBA.Any sending_exception ();
/**
* Returns the opaque <code>object_id</code> describing the target of
* the operation invocation.
*/
byte[] object_id ();
/**
* Returns the opaque identifier for the object adapter.
*/
byte[] adapter_id ();
/**
* Returns the server ID that was specified on ORB::init using the -ORBServerId
* argument.
*/
String server_id ();
/**
* Returns the ID that was used to create the ORB.
*/
String orb_id ();
/**
* Returns the sequence of strings that identifies the object
* adapter instance that is handling this request.
*/
String[] adapter_name ();
/**
* Returns the repository id for the most derived interface of the
* servant.
*/
String target_most_derived_interface ();
/**
* Returns the policy in effect for this operation for the given
* policy type. The returned <code>CORBA.Policy</code> object shall
* only be a policy whose type was registered via
* <code>register_policy_factory</code>.
*
* @param type The <code>CORBA.PolicyType</code> which specifies the
* policy to be returned.
* @return The <code>CORBA.Policy</code> obtained with the given
* policy type.
* @exception INV_POLICY thrown, with a standard minor code of 2, if
* a policy for the given type was not registered via
* <code>register_policy_factory</code>.
* @see ORBInitInfo#register_policy_factory
*/
org.omg.CORBA.Policy get_server_policy (int type);
/**
* Allows an Interceptor to set a slot in the
* <code>PortableInterceptor.Current</code> that is in the scope of
* the request. If data already exists in that slot, it will be
* overwritten.
*
* @param id The id of the slot.
* @param data The data, in the form of an any, to store in that slot.
* @exception InvalidSlot thrown if the ID does not define an allocated
* slot.
* @see Current
*/
void set_slot (int id, org.omg.CORBA.Any data) throws org.omg.PortableInterceptor.InvalidSlot;
/**
* Returns true if the servant is the given repository id,
* false if it is not.
*
* @param id The caller wants to know if the servant is this
* repository id.
* @return Is the servant the given RepositoryId?
*/
boolean target_is_a (String id);
/**
* Allows Interceptors to add service contexts to the request.
* <p>
* There is no declaration of the order of the service contexts.
* They may or may not appear in the order that they are added.
*
* @param service_context The <code>IOP.ServiceContext</code> to add to
* the reply.
* @param replace Indicates the behavior of this operation when a
* service context already exists with the given ID. If false,
* then <code>BAD_INV_ORDER</code> with a standard minor code of 15
* is thrown. If true, then the existing service context is
* replaced by the new one.
* @exception BAD_INV_ORDER thrown, with a standard minor code of 15, if
* replace is false and a service context already exists with the
* given ID.
*/
void add_reply_service_context (org.omg.IOP.ServiceContext service_context, boolean replace);
} // interface ServerRequestInfoOperations
|