package.html revision 856:a3e210a93f90
1214501Srpaulo<!doctype html>
2214501Srpaulo<html>
3252726Srpaulo<head>
4214501Srpaulo<!--
5252726Srpaulo
6252726SrpauloCopyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
7214501SrpauloDO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8214501Srpaulo
9214501SrpauloThis code is free software; you can redistribute it and/or modify it
10214501Srpaulounder the terms of the GNU General Public License version 2 only, as
11214501Srpaulopublished by the Free Software Foundation.  Oracle designates this
12214501Srpauloparticular file as subject to the "Classpath" exception as provided
13214501Srpauloby Oracle in the LICENSE file that accompanied this code.
14214501Srpaulo
15214501SrpauloThis code is distributed in the hope that it will be useful, but WITHOUT
16214501SrpauloANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
17214501SrpauloFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
18214501Srpauloversion 2 for more details (a copy is included in the LICENSE file that
19214501Srpauloaccompanied this code).
20214501Srpaulo
21214501SrpauloYou should have received a copy of the GNU General Public License version
22214501Srpaulo2 along with this work; if not, write to the Free Software Foundation,
23214501SrpauloInc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24214501Srpaulo
25214501SrpauloPlease contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
26214501Srpauloor visit www.oracle.com if you need additional information or have any
27214501Srpauloquestions.
28214501Srpaulo
29214501Srpaulo-->
30214501Srpaulo
31214501Srpaulo</head>
32214501Srpaulo<body>
33214501Srpaulo
34214501SrpauloProvides a mechanism to register ORB hooks through which ORB services
35214501Srpaulocan intercept the normal flow of execution of the ORB.
36214501Srpaulo
37214501Srpaulo<h2>Interceptor Types</h2>
38214501SrpauloThere are currently three types of interceptors that can be registered:
39214501Srpaulo<ul>
40214501Srpaulo  <li>{@link org.omg.PortableInterceptor.IORInterceptor IORInterceptor} - 
41214501Srpaulo      Used to establish tagged components in the profiles within an IOR.</li>
42214501Srpaulo  <li>{@link org.omg.PortableInterceptor.ClientRequestInterceptor 
43214501SrpauloClientRequestInterceptor} - 
44214501Srpaulo      Intercepts the flow of a request/reply sequence through the ORB on 
45214501Srpaulo      the <i>client</i> side.</li>
46214501Srpaulo  <li>{@link org.omg.PortableInterceptor.ServerRequestInterceptor 
47214501SrpauloServerRequestInterceptor} - 
48214501Srpaulo      Intercepts the flow of a request/reply sequence through the ORB on 
49214501Srpaulo      the <i>server</i> side.</li>
50214501Srpaulo</ul>
51214501SrpauloSee the javadocs for class <code>
52214501Srpaulo{@link org.omg.PortableInterceptor.ORBInitializer ORBInitializer}</code> 
53214501Srpaulofor how to go about registering interceptors.
54214501Srpaulo
55214501Srpaulo<a id="unimpl"></a>
56214501Srpaulo<h2>Known limitations / unimplemented methods in package 
57214501Srpaulo<code>org.omg.PortableInterceptor</code></h2>
58214501Srpaulo
59214501Srpaulo<ul>
60214501Srpaulo  <li>
61214501Srpaulo    <code><b>RequestInfo</b></code>
62214501Srpaulo    <ul>
63214501Srpaulo      <li><code><b>sync_scope()</b></code>: Always returns SYNC_WITH_TRANSPORT</li>
64214501Srpaulo      <li><code><b>arguments()</b></code>: Only supported for DII/DSI calls</li>
65214501Srpaulo      <li><code><b>exceptions()</b></code>: Only supported for DII calls on client side.  
66214501Srpaulo          Not supported on server-side.</li>
67214501Srpaulo      <li><code><b>contexts()</b></code>: Only supported for DII calls on client side.
68214501Srpaulo          Not supported on server-side since our ORB does not send contexts.
69214501Srpaulo          </li>
70214501Srpaulo      <li><code><b>operation_context()</b></code>: Only supported for DII calls 
71252726Srpaulo          on client side.  Not supported on server-side since ORB 
72252726Srpaulo          does not send contexts.</li>
73214501Srpaulo      <li><code><b>result()</b></code>: Only supported for DII/DSI calls</li>
74214501Srpaulo    </ul>
75214501Srpaulo  </li>
76214501Srpaulo  <li>
77214501Srpaulo    <code><b>ClientRequestInfo</b></code>
78214501Srpaulo    <ul>
79214501Srpaulo      <li><code><b>received_exception_id()</b></code>: Always returns null in the 
80214501Srpaulo          DII case</li>
81214501Srpaulo      <li><code><b>get_request_policy(int type)</b></code>: Not implemented.</li>
82214501Srpaulo    </ul>
83252726Srpaulo  </li>
84252726Srpaulo  <li>
85252726Srpaulo    <code><b>ServerRequestInfo</b></code>
86252726Srpaulo    <ul>
87252726Srpaulo      <li><code><b>sending_exception()</b></code>: Does not support user exceptions on 
88252726Srpaulo          the server side in non-DSI case.</li>
89252726Srpaulo    </ul>
90252726Srpaulo  </li>
91252726Srpaulo</ul>
92214501Srpaulo
93214501Srpaulo<h2>Package Specification</h2>
94214501Srpaulo<P>For a precise list of supported sections of official OMG specifications with which 
95214501Srpaulothe Java[tm] Platform, Standard Edition 6 complies, see <A 
96214501SrpauloHREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
97252726Srpaulosupport in Java SE 6</A>. 
98252726Srpaulo
99214501Srpaulo@since 1.4
100214501Srpaulo<br>
101214501Srpaulo@serial exclude
102214501Srpaulo</body>
103214501Srpaulo</html>
104214501Srpaulo