gnu.CORBA.Poa

Class ServantDelegateImpl

Implemented Interfaces:
Delegate

public class ServantDelegateImpl
extends Object
implements Delegate

The implementation of the servant delegate for the locally existing servant.The associated servant that must also implement the InvokeHandler interface. Each servant requires a separate instance of this delegate and can serve a single object only. Hence the fields are final, but the delegate is typically reused unless the same servant is connected to different objects.

Constructor Summary

ServantDelegateImpl(Servant a_servant, gnuPOA a_poa, byte[] a_servant_id)
Create the delegat for the servant that will be connected to the given poa.

Method Summary

POA
default_POA(Servant a_servant)
Return the ORB's default POA.
Object
get_interface_def(Servant a_servant)
Not supported.
boolean
is_a(Servant a_servant, String idl_id)
Check if this object could be named by the given repository id.
boolean
non_existent(Servant a_servant)
Always returns false;
byte[]
object_id(Servant a_servant)
Get the Id of the object being currently served.
ORB
orb(Servant a_servant)
Get ORB.
POA
poa(Servant a_servant)
Return the associated POA.
Object
this_object(Servant a_servant)
Get the object, exposing the servant.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

ServantDelegateImpl

public ServantDelegateImpl(Servant a_servant,
                           gnuPOA a_poa,
                           byte[] a_servant_id)
Create the delegat for the servant that will be connected to the given poa. The method is normally called from inside of gnuPOA. The constructor sets the newly created delegate as the delegate to this servant by calling Servant._set_delegate.
Parameters:
a_servant - the servant.
a_poa - the poa.
a_servant_id - the servant id.

Method Details

default_POA

public POA default_POA(Servant a_servant)
Return the ORB's default POA.
Specified by:
default_POA in interface Delegate

get_interface_def

public Object get_interface_def(Servant a_servant)
Not supported.
Specified by:
get_interface_def in interface Delegate

is_a

public boolean is_a(Servant a_servant,
                    String idl_id)
Check if this object could be named by the given repository id.
Specified by:
is_a in interface Delegate
Parameters:
idl_id - the repository id to check.
Returns:
true if it is one of the possible repository ids of this object.

non_existent

public boolean non_existent(Servant a_servant)
Always returns false;
Specified by:
non_existent in interface Delegate

object_id

public byte[] object_id(Servant a_servant)
Get the Id of the object being currently served.
Specified by:
object_id in interface Delegate

orb

public ORB orb(Servant a_servant)
Get ORB.
Specified by:
orb in interface Delegate

poa

public POA poa(Servant a_servant)
Return the associated POA.
Specified by:
poa in interface Delegate

this_object

public Object this_object(Servant a_servant)
Get the object, exposing the servant.
Specified by:
this_object in interface Delegate

ServantDelegateImpl.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.