1 <!doctype html>
   2 <html>
   3 <head>
   4 <!--
   5 
   6 Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
   7 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   8 
   9 This code is free software; you can redistribute it and/or modify it
  10 under the terms of the GNU General Public License version 2 only, as
  11 published by the Free Software Foundation.  Oracle designates this
  12 particular file as subject to the "Classpath" exception as provided
  13 by Oracle in the LICENSE file that accompanied this code.
  14 
  15 This code is distributed in the hope that it will be useful, but WITHOUT
  16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  17 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  18 version 2 for more details (a copy is included in the LICENSE file that
  19 accompanied this code).
  20 
  21 You should have received a copy of the GNU General Public License version
  22 2 along with this work; if not, write to the Free Software Foundation,
  23 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  24 
  25 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  26 or visit www.oracle.com if you need additional information or have any
  27 questions.
  28 
  29 -->
  30 
  31 </head>
  32 <body>
  33 
  34 Provides a mechanism to register ORB hooks through which ORB services
  35 can intercept the normal flow of execution of the ORB.
  36 
  37 <h2>Interceptor Types</h2>
  38 There are currently three types of interceptors that can be registered:
  39 <ul>
  40   <li>{@link org.omg.PortableInterceptor.IORInterceptor IORInterceptor} - 
  41       Used to establish tagged components in the profiles within an IOR.</li>
  42   <li>{@link org.omg.PortableInterceptor.ClientRequestInterceptor 
  43 ClientRequestInterceptor} - 
  44       Intercepts the flow of a request/reply sequence through the ORB on 
  45       the <i>client</i> side.</li>
  46   <li>{@link org.omg.PortableInterceptor.ServerRequestInterceptor 
  47 ServerRequestInterceptor} - 
  48       Intercepts the flow of a request/reply sequence through the ORB on 
  49       the <i>server</i> side.</li>
  50 </ul>
  51 See the javadocs for class <code>
  52 {@link org.omg.PortableInterceptor.ORBInitializer ORBInitializer}</code> 
  53 for how to go about registering interceptors.
  54 
  55 <a id="unimpl"></a>
  56 <h2>Known limitations / unimplemented methods in package 
  57 <code>org.omg.PortableInterceptor</code></h2>
  58 
  59 <ul>
  60   <li>
  61     <code><b>RequestInfo</b></code>
  62     <ul>
  63       <li><code><b>sync_scope()</b></code>: Always returns SYNC_WITH_TRANSPORT</li>
  64       <li><code><b>arguments()</b></code>: Only supported for DII/DSI calls</li>
  65       <li><code><b>exceptions()</b></code>: Only supported for DII calls on client side.  
  66           Not supported on server-side.</li>
  67       <li><code><b>contexts()</b></code>: Only supported for DII calls on client side.
  68           Not supported on server-side since our ORB does not send contexts.
  69           </li>
  70       <li><code><b>operation_context()</b></code>: Only supported for DII calls 
  71           on client side.  Not supported on server-side since ORB 
  72           does not send contexts.</li>
  73       <li><code><b>result()</b></code>: Only supported for DII/DSI calls</li>
  74     </ul>
  75   </li>
  76   <li>
  77     <code><b>ClientRequestInfo</b></code>
  78     <ul>
  79       <li><code><b>received_exception_id()</b></code>: Always returns null in the 
  80           DII case</li>
  81       <li><code><b>get_request_policy(int type)</b></code>: Not implemented.</li>
  82     </ul>
  83   </li>
  84   <li>
  85     <code><b>ServerRequestInfo</b></code>
  86     <ul>
  87       <li><code><b>sending_exception()</b></code>: Does not support user exceptions on 
  88           the server side in non-DSI case.</li>
  89     </ul>
  90   </li>
  91 </ul>
  92 
  93 <h2>Package Specification</h2>
  94 <P>For a precise list of supported sections of official OMG specifications with which 
  95 the Java[tm] Platform, Standard Edition 6 complies, see <A 
  96 HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA 
  97 support in Java SE 6</A>. 
  98 
  99 @since 1.4
 100 <br>
 101 @serial exclude
 102 </body>
 103 </html>