All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.omg.PortableServer.ServantLocatorPOATie Maven / Gradle / Ivy

The newest version!
package org.omg.PortableServer;


/**
* org/omg/PortableServer/ServantLocatorPOATie.java .
* Generated by the IDL-to-Java compiler (portable), version "3.2"
* from /home/tomek/workspace/openjdk-orb/src/share/classes/org/omg/PortableServer/poa.idl
* Wednesday, February 1, 2023 4:15:32 PM CET
*/


/**
	 * When the POA has the NON_RETAIN policy it uses servant 
	 * managers that are ServantLocators. Because the POA 
	 * knows that the servant returned by this servant 
	 * manager will be used only for a single request, 
	 * it can supply extra information to the servant 
	 * manager's operations and the servant manager's pair 
	 * of operations may be able to cooperate to do 
	 * something different than a ServantActivator. 
	 * When the POA uses the ServantLocator interface, 
	 * immediately after performing the operation invocation 
	 * on the servant returned by preinvoke, the POA will 
	 * invoke postinvoke on the servant manager, passing the 
	 * ObjectId value and the Servant value as parameters 
	 * (among others). This feature may be used to force 
	 * every request for objects associated with a POA to 
	 * be mediated by the servant manager.
	 */
public class ServantLocatorPOATie extends ServantLocatorPOA
{

  // Constructors

  public ServantLocatorPOATie ( org.omg.PortableServer.ServantLocatorOperations delegate ) {
      this._impl = delegate;
  }
  public ServantLocatorPOATie ( org.omg.PortableServer.ServantLocatorOperations delegate , org.omg.PortableServer.POA poa ) {
      this._impl = delegate;
      this._poa      = poa;
  }
  public org.omg.PortableServer.ServantLocatorOperations _delegate() {
      return this._impl;
  }
  public void _delegate (org.omg.PortableServer.ServantLocatorOperations delegate ) {
      this._impl = delegate;
  }
  public org.omg.PortableServer.POA _default_POA() {
      if(_poa != null) {
          return _poa;
      }
      else {
          return super._default_POA();
      }
  }

  /**
  	 * This operations is used to get a servant that will be
  	 * used to process the request that caused preinvoke to
  	 * be called.
  	 * @param oid the object id associated with object on
  	 *            which the request was made. 
  	 * @param adapter the reference for POA in which the
  	 *                object is being activated.
  	 * @param operation the operation name.
  	 * @param the_cookie  an opaque value that can be set
  	 *                    by the servant manager to be used
  	 *                    during postinvoke.
  	 * @return Servant used to process incoming request.
  	 * @exception ForwardRequest to indicate to the ORB 
  	 *            that it is responsible for delivering 
  	 *            the current request and subsequent 
  	 *            requests to the object denoted in the 
  	 *            forward_reference member of the exception.
  	 */
  public org.omg.PortableServer.Servant preinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, org.omg.PortableServer.ServantLocatorPackage.CookieHolder the_cookie) throws org.omg.PortableServer.ForwardRequest
  {
    return _impl.preinvoke(oid, adapter, operation, the_cookie);
  } // preinvoke


  /**
  	 * This operation is invoked whenener a servant completes
  	 * a request.
  	 * @param oid the object id ssociated with object on which
  	 *            the request was made.
  	 * @param adapter the reference for POA in which the
  	 *                object was active.
  	 * @param the_cookie  an opaque value that contains
  	 *                    the data set by preinvoke.
  	 * @param the_servant reference to the servant that is
  	 *                    associated with the object.
  	 */
  public void postinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, java.lang.Object the_cookie, org.omg.PortableServer.Servant the_servant)
  {
    _impl.postinvoke(oid, adapter, operation, the_cookie, the_servant);
  } // postinvoke

  private org.omg.PortableServer.ServantLocatorOperations _impl;
  private org.omg.PortableServer.POA _poa;

} // class ServantLocatorPOATie




© 2015 - 2024 Weber Informatics LLC | Privacy Policy