FileDocCategorySizeDatePackage
ServantLocatorPOA.javaAPI DocJava SE 5 API2484Fri Aug 26 17:25:04 BST 2005org.omg.PortableServer

ServantLocatorPOA

public abstract class ServantLocatorPOA extends org.omg.PortableServer.Servant implements org.omg.CORBA.portable.InvokeHandler, org.omg.PortableServer.ServantLocatorOperations
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.

Fields Summary
private static Hashtable
_methods
private static String[]
__ids
Constructors Summary
Methods Summary
public java.lang.String[]_all_interfaces(org.omg.PortableServer.POA poa, byte[] objectId)


        
  
    return (String[])__ids.clone ();
  
public org.omg.CORBA.portable.OutputStream_invoke(java.lang.String $method, org.omg.CORBA.portable.InputStream in, org.omg.CORBA.portable.ResponseHandler $rh)

  
  
    _methods.put ("preinvoke", new java.lang.Integer (0));
    _methods.put ("postinvoke", new java.lang.Integer (1));
  
    throw new org.omg.CORBA.BAD_OPERATION();
  
public ServantLocator_this()

    return ServantLocatorHelper.narrow(
    super._this_object());
  
public ServantLocator_this(org.omg.CORBA.ORB orb)

    return ServantLocatorHelper.narrow(
    super._this_object(orb));