KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > omg > PortableInterceptor > ClientRequestInfoOperations


1 package org.omg.PortableInterceptor;
2
3
4 /**
5 * org/omg/PortableInterceptor/ClientRequestInfoOperations.java .
6 * Generated by the IDL-to-Java compiler (portable), version "3.2"
7 * from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
8 * Saturday, February 9, 2008 9:40:08 AM GMT
9 */

10
11
12 /**
13    * Request Information, accessible to client-side request interceptors.
14    * <p>
15    * Some attributes and operations on <code>ClientRequestInfo</code> are
16    * not valid at all interception points. The following table shows the
17    * validity of each attribute or operation. If it is not valid, attempting
18    * to access it will result in a <code>BAD_INV_ORDER</code> being thrown
19    * with a standard minor code of 14.
20    * <p>
21    *
22    * <table border=1 summary="Shows the validity of each attribute or operation">
23    * <thead>
24    * <tr>
25    * <th>&nbsp;</th>
26    * <th id="send_req">send_request</th>
27    * <th id="send_poll">send_poll</th>
28    * <th id="rec_reply">receive_reply</th>
29    * <th id="rec_ex">receive_exception</th>
30    * <th id="rec_oth">receive_other</th>
31    * </tr>
32    * </thead>
33    * <tbody>
34    *
35    * <tr>
36    * <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
37    * </tr>
38    *
39    * <tr><th id="req_id"><p align="left">request_id</p></th>
40    * <td headers="ri req_id send_req">yes</td>
41    * <td headers="ri req_id send_poll">yes</td>
42    * <td headers="ri req_id rec_reply">yes</td>
43    * <td headers="ri req_id rec_ex">yes</td>
44    * <td headers="ri req_id rec_oth">yes</td></tr>
45    *
46    * <tr><th id="op"><p align="left">operation</p></th>
47    * <td headers="ri op send_req">yes</td>
48    * <td headers="ri op send_poll">yes</td>
49    * <td headers="ri op rec_reply">yes</td>
50    * <td headers="ri op rec_ex">yes</td>
51    * <td headers="ri op rec_oth">yes</td></tr>
52    *
53    * <tr><th id="arg"><p align="left">arguments</p></th>
54    * <td headers="ri arg send_req">yes<sub>1</sub></td>
55    * <td headers="ri arg send_poll">no </td>
56    * <td headers="ri arg rec_reply">yes</td>
57    * <td headers="ri arg rec_ex">no </td>
58    * <td headers="ri arg rec_oth">no </td></tr>
59    *
60    * <tr><th id="exc"><p align="left">exceptions</p></th>
61    * <td headers="ri exc send_req">yes</td>
62    * <td headers="ri exc send_poll">no </td>
63    * <td headers="ri exc rec_reply">yes</td>
64    * <td headers="ri exc rec_ex">yes</td>
65    * <td headers="ri exc rec_oth">yes</td></tr>
66    *
67    * <tr><th id="con"><p align="left">contexts</p></th>
68    * <td headers="ri con send_req">yes</td>
69    * <td headers="ri con send_poll">no </td>
70    * <td headers="ri con rec_reply">yes</td>
71    * <td headers="ri con rec_ex">yes</td>
72    * <td headers="ri con rec_oth">yes</td></tr>
73    *
74    * <tr><th id="op_con"><p align="left">operation_context</p></th>
75    * <td headers="ri op_con send_req">yes</td>
76    * <td headers="ri op_con send_poll">no </td>
77    * <td headers="ri op_con rec_reply">yes</td>
78    * <td headers="ri op_con rec_ex">yes</td>
79    * <td headers="ri op_con rec_oth">yes</td>
80    * </tr>
81    *
82    * <tr><th id="result"><p align="left">result</p></th>
83    * <td headers="ri result send_req">no </td>
84    * <td headers="ri result send_poll">no </td>
85    * <td headers="ri result rec_reply">yes</td>
86    * <td headers="ri result rec_ex">no </td>
87    * <td headers="ri result rec_oth">no </td>
88    * </tr>
89    *
90    * <tr><th id="res_exp"><p align="left">response_expected</p></th>
91    * <td headers="ri res_exp send_req">yes</td>
92    * <td headers="ri res_exp send_poll">yes</td>
93    * <td headers="ri res_exp rec_reply">yes</td>
94    * <td headers="ri res_exp rec_ex">yes</td>
95    * <td headers="ri res_exp rec_oth">yes</td></tr>
96    *
97    * <tr><th id="sync_sco"><p align="left">sync_scope</p></th>
98    * <td headers="ri sync_sco send_req">yes</td>
99    * <td headers="ri sync_sco send_poll">no </td>
100    * <td headers="ri sync_sco rec_reply">yes</td>
101    * <td headers="ri sync_sco rec_ex">yes</td>
102    * <td headers="ri sync_sco rec_oth">yes</td>
103    * </tr>
104    *
105    * <tr><th id="rep_stat"><p align="left">reply_status</p></th>
106    * <td headers="ri rep_stat send_req">no </td>
107    * <td headers="ri rep_stat send_poll">no </td>
108    * <td headers="ri rep_stat rec_reply">yes</td>
109    * <td headers="ri rep_stat rec_ex">yes</td>
110    * <td headers="ri rep_stat rec_oth">yes</td></tr>
111    *
112    * <tr><th id="for_ref"><p align="left">forward_reference</p></th>
113    * <td headers="ri for_ref send_req">no </td>
114    * <td headers="ri for_ref send_poll">no </td>
115    * <td headers="ri for_ref rec_reply">no </td>
116    * <td headers="ri for_ref rec_ex">no </td>
117    * <td headers="ri for_ref rec_oth">yes<sub>2</sub>
118    * </td></tr>
119    *
120    * <tr><th id="get_slot"><p align="left">get_slot</p></th>
121    * <td headers="ri get_slot send_req">yes</td>
122    * <td headers="ri get_slot send_poll">yes</td>
123    * <td headers="ri get_slot rec_reply">yes</td>
124    * <td headers="ri get_slot rec_ex">yes</td>
125    * <td headers="ri get_slot rec_oth">yes</td></tr>
126    *
127    * <tr><th id="grsc"><p align="left">get_request_service_context</p></th>
128    * <td headers="ri grsc send_req">yes</td>
129    * <td headers="ri grsc send_poll">no </td>
130    * <td headers="ri grsc rec_reply">yes</td>
131    * <td headers="ri grsc rec_ex">yes</td>
132    * <td headers="ri grsc rec_oth">yes</td></tr>
133    *
134    * <tr><th id="gpsc"><p align="left">get_reply_service_context</p></th>
135    * <td headers="ri gpsc send_req">no </td>
136    * <td headers="ri gpsc send_poll">no </td>
137    * <td headers="ri gpsc rec_reply">yes</td>
138    * <td headers="ri gpsc rec_ex">yes</td>
139    * <td headers="ri gpsc rec_oth">yes</td>
140    * </tr>
141    *
142    * <tr>
143    * <td id="cri" colspan=6><i>ClientRequestInfo-specific:</i></td>
144    * </tr>
145    *
146    * <tr><th id="target"><p align="left">target</p></th>
147    * <td headers="cri target send_req">yes</td>
148    * <td headers="cri target send_poll">yes</td>
149    * <td headers="cri target rec_reply">yes</td>
150    * <td headers="cri target rec_ex">yes</td>
151    * <td headers="cri target rec_oth">yes</td></tr>
152    *
153    * <tr><th id="eftarget"><p align="left">effective_target</p></th>
154    * <td headers="cri eftarget send_req">yes</td>
155    * <td headers="cri eftarget send_poll">yes</td>
156    * <td headers="cri eftarget rec_reply">yes</td>
157    * <td headers="cri eftarget rec_ex">yes</td>
158    * <td headers="cri eftarget rec_oth">yes</td>
159    * </tr>
160    *
161    * <tr><th id="efprof"><p align="left">effective_profile</p></th>
162    * <td headers="cri efprof send_req">yes</td>
163    * <td headers="cri efprof send_poll">yes</td>
164    * <td headers="cri efprof rec_reply">yes</td>
165    * <td headers="cri efprof rec_ex">yes</td>
166    * <td headers="cri efprof rec_oth">yes</td></tr>
167    *
168    * <tr><th id="rxp"><p align="left">received_exception</p></th>
169    * <td headers="cri rxp send_req">no </td>
170    * <td headers="cri rxp send_poll">no </td>
171    * <td headers="cri rxp rec_reply">no </td>
172    * <td headers="cri rxp rec_ex">yes</td>
173    * <td headers="cri rxp rec_oth">no </td></tr>
174    *
175    * <tr><th id="rei"><p align="left">received_exception_id</p></th>
176    * <td headers="cri rei send_req">no </td>
177    * <td headers="cri rei send_poll">no </td>
178    * <td headers="cri rei rec_reply">no </td>
179    * <td headers="cri rei rec_ex">yes</td>
180    * <td headers="cri rei rec_oth">no </td></tr>
181    *
182    * <tr><th id="gec"><p align="left">get_effective_component</p></th>
183    * <td headers="cri gec send_req">yes</td>
184    * <td headers="cri gec send_poll">no </td>
185    * <td headers="cri gec rec_reply">yes</td>
186    * <td headers="cri gec rec_ex">yes</td>
187    * <td headers="cri gec rec_oth">yes</td></tr>
188    *
189    * <tr><th id="gecs"><p align="left">get_effective_components</p></th>
190    * <td headers="cri gecs send_req">yes</td>
191    * <td headers="cri gecs send_poll">no </td>
192    * <td headers="cri gecs rec_reply">yes</td>
193    * <td headers="cri gecs rec_ex">yes</td>
194    * <td headers="cri gecs rec_oth">yes</td></tr>
195    *
196    * <tr><th id="grpcy"><p align="left">get_request_policy</p></th>
197    * <td headers="cri grpcy send_req">yes</td>
198    * <td headers="cri grpcy send_poll">no </td>
199    * <td headers="cri grpcy rec_reply">yes</td>
200    * <td headers="cri grpcy rec_ex">yes</td>
201    * <td headers="cri grpcy rec_oth">yes</td></tr>
202    *
203    * <tr><th id="arsc"><p align="left">add_request_service_context</p></th>
204    * <td headers="cri arsc send_req">yes</td>
205    * <td headers="cri arsc send_poll">no </td>
206    * <td headers="cri arsc rec_reply">no </td>
207    * <td headers="cri arsc rec_ex">no </td>
208    * <td headers="cri arsc rec_oth">no </td></tr>
209    *
210    * </tbody>
211    * </table>
212    *
213    * <ol>
214    * <li>When <code>ClientRequestInfo</code> is passed to
215    * <code>send_request</code>, there is an entry in the list for every
216    * argument, whether in, inout, or out. But only the in and inout
217    * arguments will be available.</li>
218    * <li>If the <code>reply_status</code> atribute is not
219    * <code>LOCATION_FORWARD</code>, accessing this attribute will
220    * throw <code>BAD_INV_ORDER</code> with a standard minor code of
221    * 14.</li>
222    * </ol>
223    *
224    * @see ClientRequestInterceptor
225    */

226 public interface ClientRequestInfoOperations extends org.omg.PortableInterceptor.RequestInfoOperations JavaDoc
227 {
228
229   /**
230      * Returns the object which the client called to perform the
231      * operation.
232      *
233      * @see #effective_target
234      */

235   org.omg.CORBA.Object JavaDoc target ();
236
237   /**
238      * Returns the actual object on which the operation will be invoked.
239      * If the <code>reply_status</code> is <code>LOCATION_FORWARD</code>,
240      * then on subsequent requests, <code>effective_target</code> will
241      * contain the forwarded IOR while target will remain unchanged.
242      *
243      * @see #target
244      */

245   org.omg.CORBA.Object JavaDoc effective_target ();
246
247   /**
248      * Returns the profile that will be used to send the request. If a
249      * location forward has occurred for this operation's object and
250      * that object's profile changed accordingly, then this profile will
251      * be that located profile.
252      */

253   org.omg.IOP.TaggedProfile JavaDoc effective_profile ();
254
255   /**
256      * Returns an any which contains the exception to be returned to
257      * the client.
258      * <p>
259      * If the exception is a user exception which cannot be inserted
260      * into an any (e.g., it is unknown or the bindings don t provide
261      * the <code>TypeCode</code>), then this attribute will be an any
262      * containing the system exception <code>UNKNOWN</code> with a
263      * standard minor code of 1. However, the repository id of
264      * the exception is available in the <code>received_exception_id</code>
265      * attribute.
266      *
267      * @see #received_exception_id
268      */

269   org.omg.CORBA.Any JavaDoc received_exception ();
270
271   /**
272      * Returns the repository id of the exception to be returned to
273      * the client.
274      *
275      * @see #received_exception
276      * @see <a HREF="package-summary.html#unimpl">
277      * <code>PortableInterceptor</code> package comments for
278      * limitations / unimplemented features</a>
279      */

280   String JavaDoc received_exception_id ();
281
282   /**
283      * Returns the <code>IOP.TaggedComponent</code> with the given ID from
284      * the profile selected for this request.
285      * <p>
286      * If there is more than one component for a given component ID, it
287      * is undefined which component this operation returns. If there is
288      * more than one component for a given component ID,
289      * <code>get_effective_components</code> should be called instead.
290      *
291      * @param id The component id of the component which
292      * is to be returned.
293      * @return The <code>IOP.TaggedComponent</code> obtained with the
294      * given identifier.
295      * @exception BAD_PARAM thrown, with a standard minor code of 28, if
296      * no component exists for the given component ID.
297      * @see #get_effective_components
298      */

299   org.omg.IOP.TaggedComponent JavaDoc get_effective_component (int id);
300
301   /**
302      * Returns an array of all tagged components with the given ID from the
303      * profile selected for this request.
304      *
305      * @param id The component id of the components which are to be returned.
306      * @return An array of <code>TaggedComponent</code> objects, each of
307      * which contains the given identifier.
308      * @exception BAD_PARAM thrown, with a standard minor code of 28, if
309      * no component exists for the given component ID.
310      * @see #get_effective_component
311      */

312   org.omg.IOP.TaggedComponent JavaDoc[] get_effective_components (int id);
313
314   /**
315      * Returns the given policy in effect for this operation.
316      *
317      * @exception INV_POLICY thrown, with a standard minor code of 1, if the
318      * policy type is not valid either because the specified type is
319      * not supported by this ORB or because a policy object of that type
320      * is not associated with this Object
321      * @param type The policy type which specifies the policy to be
322      * returned.
323      * @return The <code>CORBA.Policy</code> obtained with the given type.
324      * @see <a HREF="package-summary.html#unimpl">
325      * <code>PortableInterceptor</code> package comments for
326      * limitations / unimplemented features</a>
327      */

328   org.omg.CORBA.Policy JavaDoc get_request_policy (int type);
329
330   /**
331      * Allows Interceptors to add service contexts to the request.
332      * <p>
333      * There is no declaration of the order of the service contexts.
334      * They may or may not appear in the order that they are added.
335      *
336      * @param service_context The <code>IOP.ServiceContext</code> to be
337      * added to the request.
338      * @param replace Indicates the behavior of this operation when a
339      * service context already exists with the given ID. If false,
340      * then <code>BAD_INV_ORDER</code> with a standard minor code of 15
341      * is thrown. If true, then the existing service context is
342      * replaced by the new one.
343      */

344   void add_request_service_context (org.omg.IOP.ServiceContext JavaDoc service_context, boolean replace);
345 } // interface ClientRequestInfoOperations
346
Popular Tags