org.omg.CORBA.portable

Class Delegate

public abstract class Delegate extends Object

Specifies a vendor specific implementation of the {@link org.omg.CORBA.Object} methods. The calls to these methods are forwarded to the object delegate that can be replaced, if needed. The first parameter is the actual CORBA object to that the operation must be applied. Some methods in this class are not abstract, but no implemented, thowing the {@link NO_IMPLEMENT}. This, however, does not mean that they are not implemented in the derived classes as well.
Method Summary
abstract Requestcreate_request(Object target, Context context, String operation, NVList parameters, NamedValue returns)
Create a request to invoke the method of this object.
abstract Requestcreate_request(Object target, Context context, String operation, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
Create a request to invoke the method of this object, specifying context list and the list of the expected exception.
abstract Objectduplicate(Object target)
Duplicate the object reference.
booleanequals(Object self, Object other)
Compares two objects for equality.
DomainManager[]get_domain_managers(Object target)
Retrieve the domain managers for this object.
abstract Objectget_interface_def(Object target)
Policyget_policy(Object target, int a_policy_type)
Returns the {@link Policy}, applying to this object.
abstract inthash(Object target, int maximum)
Get the hashcode this object reference.
inthashCode(Object target)
Return the hashcode for this CORBA object.
InputStreaminvoke(Object target, OutputStream output)
Invoke the operation.
abstract booleanis_a(Object target, String repositoryIdentifer)
Check if this object can be referenced by the given repository id.
abstract booleanis_equivalent(Object target, Object other)
Return true if the other object references are equivalent, so far as it is possible to determine this easily.
booleanis_local(Object self)
Returns true if the object is local.
abstract booleannon_existent(Object target)
Determines if the server object for this reference has already been destroyed.
ORBorb(Object target)
Provides the reference to ORB.
abstract voidrelease(Object target)
Free resoureces, occupied by this reference.
voidreleaseReply(Object target, InputStream input)
Release the reply stream back to ORB after finishing reading the data from it.
abstract Requestrequest(Object target, String operation)
Create a request to invoke the method of this CORBA object.
OutputStreamrequest(Object target, String operation, boolean response_expected)
Create a request to invoke the method of this CORBA object.
voidservant_postinvoke(Object self, ServantObject servant)
This method is always called after invoking the operation on the local servant.
ServantObjectservant_preinvoke(Object self, String operation, Class expectedType)
Returns a servant that should be used for this request.
Objectset_policy_override(Object target, Policy[] policies, SetOverrideType how)
Returns a new object with the new policies either replacing or extending the current policies, depending on the second parameter.
StringtoString(Object self)
Return a string representation of the passed object.

Method Detail

create_request

public abstract Request create_request(Object target, Context context, String operation, NVList parameters, NamedValue returns)
Create a request to invoke the method of this object.

Parameters: target the CORBA object, to that this operation must be applied. 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.

Returns: the created reaquest.

create_request

public abstract Request create_request(Object target, Context context, String operation, NVList parameters, NamedValue returns, ExceptionList exceptions, ContextList ctx_list)
Create a request to invoke the method of this object, specifying context list and the list of the expected exception.

Parameters: target the CORBA object, to that this operation must be applied. 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.

Returns: the created reaquest.

duplicate

public abstract Object duplicate(Object target)
Duplicate the object reference. This does not make much sense for java platform and is just included for the sake of compliance with CORBA APIs.

Parameters: target the CORBA object, to that this operation must be applied. The method may return the object reference itself.

Returns: as a rule, this.

equals

public boolean equals(Object self, Object other)
Compares two objects for equality. The default implementations delegated call to {@link java.lang.Object#equals(java.lang.Object)}.

Parameters: self this CORBA object. other the other CORBA object.

Returns: true if the objects are equal.

get_domain_managers

public DomainManager[] get_domain_managers(Object target)
Retrieve the domain managers for this object.

Parameters: target the CORBA object, to that this operation must be applied.

Returns: the domain managers.

Throws: NO_IMPLEMENT, always (following the 1.4 specification).

get_interface_def

public abstract Object get_interface_def(Object target)

Parameters: target the CORBA object, to that this operation must be applied. Get the InterfaceDef for this Object.

get_policy

public Policy get_policy(Object target, int a_policy_type)
Returns the {@link Policy}, applying to this object.

Parameters: target the CORBA object, to that this operation must be applied. a_policy_type a type of policy to be obtained.

Returns: a corresponding Policy object.

Throws: NO_IMPLEMENT, always (following the 1.4 specification).

hash

public abstract int hash(Object target, int maximum)
Get the hashcode this object reference. The same hashcode still does not means that the references are the same. From the other side, two different references may still refer to the same CORBA object. The returned value must not change during the object lifetime.

Parameters: target the CORBA object, to that this operation must be applied. maximum the maximal value to return.

Returns: the hashcode.

hashCode

public int hashCode(Object target)
Return the hashcode for this CORBA object. The default implementation delegates call to {@link #hash(org.omg.CORBA.Object, int)}, passing Integer.MAX_VALUE as an argument.

Parameters: target the object, for that the hash code must be computed.

Returns: the hashcode.

invoke

public InputStream invoke(Object target, OutputStream output)
Invoke the operation.

Parameters: target the invocation target. output the stream, containing the written arguments.

Returns: the stream, from where the input parameters could be read.

Throws: ApplicationException if the application throws an exception, defined as a part of its remote method definition. RemarshalException if reading(remarshalling) fails. NO_IMPLEMENT, always (following the 1.4 specification).

is_a

public abstract boolean is_a(Object target, String repositoryIdentifer)
Check if this object can be referenced by the given repository id.

Parameters: target the CORBA object, to that this operation must be applied. repositoryIdentifer the repository id.

Returns: true if the passed parameter is a repository id of this CORBA object.

is_equivalent

public abstract boolean is_equivalent(Object target, Object other)
Return true if the other object references are equivalent, so far as it is possible to determine this easily.

Parameters: target the CORBA object, to that this operation must be applied. other the other object reference.

Returns: true if both references refer the same object, false if they probably can refer different objects.

is_local

public boolean is_local(Object self)
Returns true if the object is local.

Parameters: self the object to check.

Returns: false, always (following 1.4 specs). Override to get functionality.

non_existent

public abstract boolean non_existent(Object target)
Determines if the server object for this reference has already been destroyed.

Parameters: target the CORBA object, to that this operation must be applied.

Returns: true if the object has been destroyed, false otherwise.

orb

public ORB orb(Object target)
Provides the reference to ORB.

Parameters: target the object reference.

Returns: the associated ORB.

Throws: NO_IMPLEMENT, always (following the 1.4 specification).

release

public abstract void release(Object target)
Free resoureces, occupied by this reference. The object implementation is not notified, and the other references to the same object are not affected.

Parameters: target the CORBA object, to that this operation must be applied.

releaseReply

public void releaseReply(Object target, InputStream input)
Release the reply stream back to ORB after finishing reading the data from it.

Parameters: target the CORBA object, to that this operation must be applied. input the stream, normally returned by {@link #invoke} or {@link ApplicationException#getInputStream()}, can be null. The default method returns without action.

request

public abstract Request request(Object target, String operation)
Create a request to invoke the method of this CORBA object.

Parameters: target the CORBA object, to that this operation must be applied. operation the name of the method to invoke.

Returns: the request.

request

public OutputStream request(Object target, String operation, boolean response_expected)
Create a request to invoke the method of this CORBA object.

Parameters: target the CORBA object, to that this operation must be applied. operation the name of the method to invoke. 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.

servant_postinvoke

public void servant_postinvoke(Object self, ServantObject servant)
This method is always called after invoking the operation on the local servant. The default method returns without action.

Parameters: self the object. servant the servant.

servant_preinvoke

public ServantObject servant_preinvoke(Object self, String operation, Class expectedType)
Returns a servant that should be used for this request. The servant can also be casted to the expected type, calling the required method directly.

Parameters: self the object operation the operation expectedType the expected type of the servant. This implementation always returns null; override for different behavior.

Returns: the servant or null if the servant is not an expected type of the method is not supported, for example, due security reasons.

set_policy_override

public Object set_policy_override(Object target, Policy[] policies, SetOverrideType how)
Returns a new object with the new policies either replacing or extending the current policies, depending on the second parameter.

Parameters: target the CORBA object, to that this operation must be applied. policies the policy additions or replacements. how either {@link SetOverrideType#SET_OVERRIDE} to override the current policies of {@link SetOverrideType#ADD_OVERRIDE} to replace them.

Returns: the new reference with the changed policies.

Throws: NO_IMPLEMENT, always (following the 1.4 specification).

toString

public String toString(Object self)
Return a string representation of the passed object.

Parameters: self the CORBA object, to that the string representation must be returned. By default, the call is delegated to {@link java.lang.Object#toString()}.

Returns: the string representation.