gnu.CORBA.Poa

Class LocalDelegate

Implemented Interfaces:
IorProvider

public class LocalDelegate
extends Delegate
implements IorProvider

A local delegate, transferring all object requests to the locally available servant. This class is involved in handling the method invocations on the local object, obtained by POA.create_reference_with_id.

Field Summary

gnuPOA
poa

Constructor Summary

LocalDelegate(gnuServantObject an_object, gnuPOA a_poa, byte[] an_id)
Create a local delegate, forwarding requests to the servant that must also be an invocation handler.

Method Summary

Request
create_request(Object target, Context context, String method, NVList parameters, NamedValue returns)
Create request for using with DII.
Request
create_request(Object target, Context context, String method, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
Create request for using with DII.
Object
duplicate(Object target)
Return this.
InvokeHandler
getHandler(String method, CookieHolder cookie)
Return the associated invocation handler.
IOR
getIor()
Get the IOR of the connected object.
Object
get_interface_def(Object target)
Not in use.
int
hash(Object target, int maximum)
Get hash code.
InputStream
invoke(Object target, OutputStream output)
Make an invocation.
boolean
is_a(Object a_servant, String idl_id)
Check if this object could be named by the given repository id.
boolean
is_equivalent(Object target, Object other)
boolean
non_existent(Object target)
Always return false.
ORB
orb(Object target)
Return the ORB of the associated POA.
void
release(Object target)
void
releaseReply(Object target, InputStream input)
Request
request(Object target, String method)
OutputStream
request(Object target, String method, boolean response_expected)
Create a request to invoke the method of this CORBA object.

Methods inherited from class org.omg.CORBA_2_3.portable.Delegate

get_codebase

Methods inherited from class org.omg.CORBA.portable.Delegate

create_request, create_request, duplicate, equals, get_domain_managers, get_interface_def, get_policy, hash, hashCode, invoke, is_a, is_equivalent, is_local, non_existent, orb, release, releaseReply, request, request, servant_postinvoke, set_policy_override, toString

Methods inherited from class java.lang.Object

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

Field Details

poa

public final gnuPOA poa

Constructor Details

LocalDelegate

public LocalDelegate(gnuServantObject an_object,
                     gnuPOA a_poa,
                     byte[] an_id)
Create a local delegate, forwarding requests to the servant that must also be an invocation handler.

Method Details

create_request

public Request create_request(Object target,
                              Context context,
                              String method,
                              NVList parameters,
                              NamedValue returns)
Create request for using with DII.
Overrides:
create_request in interface Delegate

create_request

public Request create_request(Object target,
                              Context context,
                              String method,
                              NVList parameters,
                              NamedValue returns,
                              ExceptionList exceptions,
                              ContextList ctx_list)
Create request for using with DII.
Overrides:
create_request in interface Delegate

duplicate

public Object duplicate(Object target)
Return this.
Overrides:
duplicate in interface Delegate

getHandler

public InvokeHandler getHandler(String method,
                                CookieHolder cookie)
Return the associated invocation handler.

getIor

public IOR getIor()
Get the IOR of the connected object.
Specified by:
getIor in interface IorProvider

get_interface_def

public Object get_interface_def(Object target)
Not in use.
Overrides:
get_interface_def in interface Delegate

hash

public int hash(Object target,
                int maximum)
Get hash code.
Overrides:
hash in interface Delegate

invoke

public InputStream invoke(Object target,
                          OutputStream output)
            throws ApplicationException
Make an invocation.
Overrides:
invoke in interface Delegate
Parameters:
target - not in use.
output - the stream request that should be returned by LocalDelegate in this method.
Throws:
ApplicationException - if the use exception is thrown by the servant method.

is_a

public boolean is_a(Object a_servant,
                    String idl_id)
Check if this object could be named by the given repository id.
Overrides:
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.

is_equivalent

public boolean is_equivalent(Object target,
                             Object other)
Overrides:
is_equivalent in interface Delegate

non_existent

public boolean non_existent(Object target)
Always return false.
Overrides:
non_existent in interface Delegate

orb

public ORB orb(Object target)
Return the ORB of the associated POA. The parameter is not in use.
Overrides:
orb in interface Delegate

release

public void release(Object target)
Overrides:
release in interface Delegate

releaseReply

public void releaseReply(Object target,
                         InputStream input)
Overrides:
releaseReply in interface Delegate

request

public Request request(Object target,
                       String method)
Overrides:
request in interface Delegate

request

public OutputStream request(Object target,
                            String method,
                            boolean response_expected)
Create a request to invoke the method of this CORBA object.
Overrides:
request in interface Delegate
Parameters:
response_expected - specifies if this is one way message or the response to the message is expected.
Returns:
the stream where the method arguments should be written.

LocalDelegate.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.