public class LocalObject extends Object implements Object
Object
, but actually
handling all invocations locally.
Various calls to the remote object specific methods throw the
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 Request
class).
However narrowing and widening methods will work with local objects.Constructor and Description |
---|
LocalObject() |
Modifier and Type | Method and Description |
---|---|
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_def()
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.
|
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)
Get the hashcode this object reference.
|
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
Util.isLocal(javax.rmi.CORBA.Stub) , called passing this as parameter,
returns true, and the _servant_preinvoke(java.lang.String, java.lang.Class) return non-null object. |
ServantObject |
_servant_preinvoke(String operation,
Class expectedType)
This method is called from
rmic generated stubs if the
Util.isLocal(javax.rmi.CORBA.Stub) , 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.
|
boolean |
validate_connection()
This method is not appropriate for the local objects and just
throws an exception.
|
public LocalObject()
public Request _create_request(Context context, String operation, NVList parameters, NamedValue returns)
_create_request
in interface Object
context
- a list of additional properties.operation
- the name of method to be invoked.parameters
- the method parameters.returns
- the container for tge method returned value.NO_IMPLEMENT,
- always.public Request _create_request(Context context, String operation, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
_create_request
in interface Object
context
- a list of additional properties.operation
- the name of method to be invoked.parameters
- the method parameters.returns
- the container for tge method returned value.exceptions
- the list of the possible exceptions that the method
can throw.ctx_list
- the list of the context strings that need to be
resolved and send as a context instance.NO_IMPLEMENT,
- always.public Object _duplicate()
_duplicate
in interface Object
this
.NO_IMPLEMENT,
- always.public DomainManager[] _get_domain_managers()
_get_domain_managers
in interface Object
NO_IMPLEMENT,
- always.public Object _get_interface_def()
_get_interface_def
in interface Object
NO_IMPLEMENT,
- always.public Object _get_interface()
NO_IMPLEMENT,
- always.public Policy _get_policy(int a_policy_type) throws BAD_PARAM
_get_policy
in interface Object
a_policy_type
- a type of policy to be obtained.NO_IMPLEMENT,
- always.BAD_PARAM
- if the policy of the given type is not
associated with this object, or if it is not supported by this ORB.public int _hash(int maximum)
public boolean _is_a(String repositoryIdentifer)
public boolean _is_equivalent(Object other)
_is_equivalent
in interface Object
other
- the other object.public boolean _non_existent()
_non_existent
in interface Object
public void _release()
public Request _request(String operation)
public Object _set_policy_override(Policy[] policies, SetOverrideType how)
_set_policy_override
in interface Object
policies
- the policy additions or replacements.how
- either SetOverrideType.SET_OVERRIDE
to override the
current policies of SetOverrideType.ADD_OVERRIDE
to replace
them.NO_IMPLEMENT,
- always.public ServantObject _servant_preinvoke(String operation, Class expectedType)
rmic
generated stubs if the
Util.isLocal(javax.rmi.CORBA.Stub)
, 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
_servant_postinvoke(ServantObject)
, passing that returned target
as parameter.operation
- the name of the method being invoked.expectedType
- the interface that the returned servant
object must implement.NO_IMPLEMENT
- always. If used, the method must be overridden.public void _servant_postinvoke(ServantObject servant)
rmic
generated stubs if the
Util.isLocal(javax.rmi.CORBA.Stub)
, called passing this
as parameter,
returns true, and the _servant_preinvoke(java.lang.String, java.lang.Class)
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.servant
- the object that has served as the invocation target for the
current operation.public InputStream _invoke(OutputStream output) throws ApplicationException, RemarshalException
_request(String)
and returns an InputStream which
contains the reply. Up till jdk 1.5 inclusive this method is marked as
unimplemented.NO_IMPLEMENT
- always.ApplicationException
RemarshalException
public boolean _is_local()
Util.isLocal(javax.rmi.CORBA.Stub)
instead (passing this
as parameter).NO_IMPLEMENT
- always.public ORB _orb()
NO_IMPLEMENT,
- always.public void _releaseReply(InputStream input)
NO_IMPLEMENT,
- always.public OutputStream _request(String operation, boolean responseExpected)
NO_IMPLEMENT,
- always.public boolean validate_connection()
NO_IMPLEMENT,
- always.