⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pihandler.java

📁 java1.6众多例子参考
💻 JAVA
字号:
/* * @(#)PIHandler.java	1.26 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package com.sun.corba.se.spi.protocol;import org.omg.PortableInterceptor.ObjectReferenceTemplate ;import org.omg.PortableInterceptor.Interceptor ;import org.omg.PortableInterceptor.Current ;import org.omg.PortableInterceptor.PolicyFactory ;import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName ;import org.omg.CORBA.NVList ;import org.omg.CORBA.Any ;import org.omg.CORBA.Policy ;import org.omg.CORBA.PolicyError ;import org.omg.CORBA.portable.RemarshalException;import com.sun.corba.se.spi.oa.ObjectAdapter ;import com.sun.corba.se.spi.protocol.CorbaMessageMediator ;import com.sun.corba.se.spi.ior.ObjectKeyTemplate ;// XXX These need to go away.import com.sun.corba.se.impl.corba.RequestImpl ;import com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage ;/** This interface defines the PI interface that is used to interface the rest of the * ORB to the PI implementation. */public interface PIHandler {    /** Complete the initialization of the PIHandler.  This will execute the methods    * on the ORBInitializers, if any are defined.  This must be done here so that    * the ORB can obtain the PIHandler BEFORE the ORBInitializers run, since they    * will need access to the PIHandler through the ORB.    */    public void initialize() ;        public void destroyInterceptors() ;    /*     ****************************     * IOR interceptor PI hooks     ****************************/    /**     * Called when a new object adapter is created.       *     * @param oa The adapter associated with the interceptors to be     *   invoked.     */    void objectAdapterCreated( ObjectAdapter oa )  ;    /**      * Called whenever a state change occurs in an adapter manager.     *     * @param managerId managerId The adapter manager id     * @param newState newState The new state of the adapter manager,     * and by implication of all object adapters managed by this manager.     */    void adapterManagerStateChanged( int managerId,	short newState ) ;    /** Called whenever a state change occurs in an object adapter that    * was not caused by an adapter manager state change.    *    * @param templates The templates that are changing state.    * @param newState The new state of the adapters identified by the     * templates.    */    void adapterStateChanged( ObjectReferenceTemplate[] templates,	short newState ) ;    /*     *****************     * Client PI hooks     *****************/    /**     * Called for pseudo-ops to temporarily disable portable interceptor     * hooks for calls on this thread.  Keeps track of the number of     * times this is called and increments the disabledCount.     */    void disableInterceptorsThisThread() ;    /**     * Called for pseudo-ops to re-enable portable interceptor     * hooks for calls on this thread.  Decrements the disabledCount.     * If disabledCount is 0, interceptors are re-enabled.     */    void enableInterceptorsThisThread() ;    /**     * Called when the send_request or send_poll portable interception point     * is to be invoked for all appropriate client-side request interceptors.     *     * @exception RemarhsalException - Thrown when this request needs to     *     be retried.     */    void invokeClientPIStartingPoint()        throws RemarshalException ;    /**     * Called when the appropriate client ending interception point is     * to be invoked for all apporpriate client-side request interceptors.     *     * @param replyStatus One of the constants in iiop.messages.ReplyMessage     *     indicating which reply status to set.     * @param exception The exception before ending interception points have     *     been invoked, or null if no exception at the moment.     * @return The exception to be thrown, after having gone through     *     all ending points, or null if there is no exception to be     *     thrown.  Note that this exception can be either the same or     *     different from the exception set using setClientPIException.     *     There are four possible return types: null (no exception),     *     SystemException, UserException, or RemarshalException.     */    Exception invokeClientPIEndingPoint(        int replyStatus, Exception exception ) ;    /**     * Invoked when a request is about to be created.  Must be called before     * any of the setClientPI* methods so that a new info object can be     * prepared for information collection.     *     * @param diiRequest True if this is to be a DII request, or false if it     *     is a "normal" request.  In the DII case, initiateClientPIRequest     *     is called twice and we need to ignore the second one.     */    void initiateClientPIRequest( boolean diiRequest ) ;    /**     * Invoked when a request is about to be cleaned up.  Must be called     * after ending points are called so that the info object on the stack     * can be deinitialized and popped from the stack at the appropriate     * time.     */    void cleanupClientPIRequest() ;    /**     * Notifies PI of additional information for client-side interceptors.     * PI will use this information as a source of information for the     * ClientRequestInfo object.     */    void setClientPIInfo( RequestImpl requestImpl ) ;    /**      * Notify PI of the MessageMediator for the request.     */    void setClientPIInfo(CorbaMessageMediator messageMediator) ;    /*     *****************     * Server PI hooks     *****************/    /**     * Called when the appropriate server starting interception point is     * to be invoked for all appropriate server-side request interceptors.     *     * @throws ForwardException Thrown if an interceptor raises     *     ForwardRequest.  This is an unchecked exception so that we need     *     not modify the entire execution path to declare throwing     *     ForwardException.     */    void invokeServerPIStartingPoint() ;    /**     * Called when the appropriate server intermediate interception point is     * to be invoked for all appropriate server-side request interceptors.     *     * @throws ForwardException Thrown if an interceptor raises     *     ForwardRequest.  This is an unchecked exception so that we need     *     not modify the entire execution path to declare throwing     *     ForwardException.     */    void invokeServerPIIntermediatePoint() ;    /**     * Called when the appropriate server ending interception point is     * to be invoked for all appropriate server-side request interceptors.     *     * @param replyMessage The iiop.messages.ReplyMessage containing the     *     reply status.       * @throws ForwardException Thrown if an interceptor raises     *     ForwardRequest.  This is an unchecked exception so that we need     *     not modify the entire execution path to declare throwing     *     ForwardException.     */    void invokeServerPIEndingPoint( ReplyMessage replyMessage ) ;    /**     * Notifies PI to start a new server request and set initial     * information for server-side interceptors.     * PI will use this information as a source of information for the     * ServerRequestInfo object.  poaimpl is declared as an Object so that     * we need not introduce a dependency on the POA package.     */    void initializeServerPIInfo( CorbaMessageMediator request, 	ObjectAdapter oa, byte[] objectId, ObjectKeyTemplate oktemp ) ;    /**     * Notifies PI of additional information reqired for ServerRequestInfo.     *     * @param servant The servant.  This is java.lang.Object because in the     *     POA case, this will be a org.omg.PortableServer.Servant whereas     *     in the ServerRequestDispatcher case this will be an ObjectImpl.     * @param targetMostDerivedInterface.  The most derived interface.  This     *     is passed in instead of calculated when needed because it requires     *     extra information in the POA case that we didn't want to bother     *     creating extra methods for to pass in.     */    void setServerPIInfo( java.lang.Object servant,                                    String targetMostDerivedInterface ) ;    /**     * Notifies PI of additional information required for ServerRequestInfo.     */    void setServerPIInfo( Exception exception ) ;    /**     * Notifies PI of additional information for server-side interceptors.     * PI will use this information as a source of information for the     * ServerRequestInfo object.  These are the arguments for a DSI request.     */    void setServerPIInfo( NVList arguments ) ;    /**     * Notifies PI of additional information for server-side interceptors.     * PI will use this information as a source of information for the     * ServerRequestInfo object.  This is the exception of a DSI request.     */    void setServerPIExceptionInfo( Any exception ) ;    /**     * Notifies PI of additional information for server-side interceptors.     * PI will use this information as a source of information for the     * ServerRequestInfo object.  This is the result of a DSI request.     */    void setServerPIInfo( Any result ) ;    /**     * Invoked when a request is about to be cleaned up.  Must be called     * after ending points are called so that the info object on the stack     * can be deinitialized and popped from the stack at the appropriate     * time.     */    void cleanupServerPIRequest() ;    Policy create_policy( int type, Any val ) throws PolicyError ;    void register_interceptor( Interceptor interceptor, int type ) 	throws DuplicateName ;    Current getPICurrent() ;    void registerPolicyFactory( int type, PolicyFactory factory ) ;    int allocateServerRequestId() ;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -