org.omg.CORBA

Class LocalObject

public class LocalObject extends Object implements Object

An object, formally implementing the CORBA {@link Object}, but actually handling all invocations locally. Various calls to the remote object specific methods throw the {@link NO_IMPLEMENT}. The explaining message for this exception is specified in java API as "This is a locally constrained object.". It is not possible to get a stringified reference of the local object, or invoke a method using DII (by name via {@link Request} class). However narrowing and widening methods will work with local objects.

Since: 1.4

Method Summary
booleanvalidate_connection()
This method is not appropriate for the local objects and just throws an exception.
Request_create_request(Context context, String operation, NVList parameters, NamedValue returns)
This method is not appropriate for the local objects and just throws an exception.
Request_create_request(Context context, String operation, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
This method is not appropriate for the local objects and just throws an exception.
Object_duplicate()
This method is not appropriate for the local objects and just throws an exception.
DomainManager[]_get_domain_managers()
This method is not appropriate for the local objects and just throws an exception.
Object_get_interface()
This method is not appropriate for the local objects and just throws an exception.
Object_get_interface_def()
This method is not appropriate for the local objects and just throws an exception.
Policy_get_policy(int a_policy_type)
This method is not appropriate for the local objects and just throws an exception.
int_hash(int maximum)
{@inheritDoc}
InputStream_invoke(OutputStream output)
Invokes the operation.
boolean_is_a(String repositoryIdentifer)
This method is not appropriate for the local objects and just throws an exception.
boolean_is_equivalent(Object other)
Determines if the object is equal to another object, so far as it is possible to determine easily.
boolean_is_local()
While it may look that this should return true, the jdk 1.5 API states that it must throw NO_IMPLEMENT instead.
boolean_non_existent()
Always returs false.
ORB_orb()
This method is not appropriate for the local objects and just throws an exception.
void_release()
This method is not appropriate for the local objects and just throws an exception.
void_releaseReply(InputStream input)
This method is not appropriate for the local objects and just throws an exception.
Request_request(String operation)
This method is not appropriate for the local objects and just throws an exception.
OutputStream_request(String operation, boolean responseExpected)
This method is not appropriate for the local objects and just throws an exception.
void_servant_postinvoke(ServantObject servant)
This method is called from rmic generated stubs if the {@link Util#isLocal}, called passing this as parameter, returns true, and the {@link #_servant_preinvoke} return non-null object.
ServantObject_servant_preinvoke(String operation, Class expectedType)
This method is called from rmic generated stubs if the {@link Util#isLocal}, called passing this as parameter, returns true.
Object_set_policy_override(Policy[] policies, SetOverrideType how)
This method is not appropriate for the local objects and just throws an exception.

Method Detail

validate_connection

public boolean validate_connection()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_create_request

public Request _create_request(Context context, String operation, NVList parameters, NamedValue returns)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_create_request

public Request _create_request(Context context, String operation, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_duplicate

public Object _duplicate()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_get_domain_managers

public DomainManager[] _get_domain_managers()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_get_interface

public Object _get_interface()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_get_interface_def

public Object _get_interface_def()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_get_policy

public Policy _get_policy(int a_policy_type)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_hash

public int _hash(int maximum)
{@inheritDoc}

_invoke

public InputStream _invoke(OutputStream output)
Invokes the operation. This method takes the OutputStream that was previously returned by a {@link #_request(String)} and returns an InputStream which contains the reply. Up till jdk 1.5 inclusive this method is marked as unimplemented.

Throws: NO_IMPLEMENT always.

_is_a

public boolean _is_a(String repositoryIdentifer)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_is_equivalent

public boolean _is_equivalent(Object other)
Determines if the object is equal to another object, so far as it is possible to determine easily.

Parameters: other the other object.

Returns: true if the pased object is not null and java.lang.Object.equals(other) returns true. False otherwise.

_is_local

public boolean _is_local()
While it may look that this should return true, the jdk 1.5 API states that it must throw NO_IMPLEMENT instead. The rmi stubs do not call this method to check if the object is local; they call {@link Util#isLocal} instead (passing this as parameter).

Returns: never.

Throws: NO_IMPLEMENT always.

_non_existent

public boolean _non_existent()
Always returs false.

Returns: false, always.

_orb

public ORB _orb()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_release

public void _release()
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_releaseReply

public void _releaseReply(InputStream input)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_request

public Request _request(String operation)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

UNKNOWN: it is possible to implement a local handling of the _request(), but the API clearly states that NO_IMPLEMENT must be thrown instead.

_request

public OutputStream _request(String operation, boolean responseExpected)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.

_servant_postinvoke

public void _servant_postinvoke(ServantObject servant)
This method is called from rmic generated stubs if the {@link Util#isLocal}, called passing this as parameter, returns true, and the {@link #_servant_preinvoke} return non-null object. The stub then invokes the requrested method on that returned object and later calls _servant_postinvoke, passing that returned target as parameter.

Parameters: servant the object that has served as the invocation target for the current operation.

_servant_preinvoke

public ServantObject _servant_preinvoke(String operation, Class expectedType)
This method is called from rmic generated stubs if the {@link Util#isLocal}, called passing this as parameter, returns true. If the method returns null, the requested method is then invoked on this. Else it is invoked on the returned object, casting it into the interface that the local object implements. In this case, the generated stub also later calls {@link #_servant_postinvoke(ServantObject)}, passing that returned target as parameter.

Parameters: operation the name of the method being invoked. expectedType the interface that the returned servant object must implement.

Throws: NO_IMPLEMENT always. If used, the method must be overridden.

_set_policy_override

public Object _set_policy_override(Policy[] policies, SetOverrideType how)
This method is not appropriate for the local objects and just throws an exception.

Throws: NO_IMPLEMENT, always.