org.omg.CORBA.portable
Class ObjectImpljava.lang.Object | +--org.omg.CORBA.portable.ObjectImpl
- All Implemented Interfaces:
- Object
- Direct Known Subclasses:
- _BindingIteratorStub, _DynAnyFactoryStub, _DynAnyStub, _DynArrayStub, _DynEnumStub, _DynFixedStub, _DynSequenceStub, _DynStructStub, _DynUnionStub, _DynValueStub, _IDLTypeStub, _NamingContextExtStub, _NamingContextStub, _PolicyStub, _ServantActivatorStub, _ServantLocatorStub, DynamicImplementation, ObjectImpl
- public abstract class ObjectImpl
- extends Object
- implements Object
The common base class for all stub classes; provides default implementations of the org.omg.CORBA.Object methods. All method implementations are forwarded to a Delegate object stored in the ObjectImpl instance. ObjectImpl allows for portable stubs because the Delegate can be implemented by a different vendor-specific ORB.
Constructor Summary
ObjectImpl()
Method Summary
Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result)
Creates a Request object that contains the given context, method, argument list, and container for the result.Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exceptions, ContextList contexts)
Creates a Request object that contains the given context, method, argument list, container for the result, exceptions, and list of property names to be used in resolving the context strings.Object _duplicate()
Returns a duplicate of this ObjectImpl object.Delegate _get_delegate()
Retrieves the reference to the vendor-specific Delegate object to which this ObjectImpl object delegates all methods invoked on it.DomainManager[] _get_domain_managers()
Retrieves a list of the domain managers for this ObjectImpl object.Object _get_interface_def()
Retrieves the interface definition for this ObjectImpl object.Policy _get_policy(int policy_type)
Retrieves the Policy object for this ObjectImpl object that has the given policy type.int _hash(int maximum)
Retrieves the hash code that serves as an ORB-internal identifier for this ObjectImpl object.abstract String[] _ids()
Retrieves a string array containing the repository identifiers supported by this ObjectImpl object.InputStream _invoke(OutputStream output)
Invokes an operation and returns an InputStream object for reading the response.boolean _is_a(String repository_id)
Checks whether the object identified by the given repository identifier is an ObjectImpl object.boolean _is_equivalent(Object that)
Checks whether the the given ObjectImpl object is equivalent to this ObjectImpl object.boolean _is_local()
Checks whether this ObjectImpl object is implemented by a local servant.boolean _non_existent()
Checks whether the server object for this ObjectImpl object has been destroyed.ORB _orb()
Returns a reference to the ORB associated with this object and its delegate.void _release()
Releases the resources associated with this ObjectImpl object.void _releaseReply(InputStream input)
Releases the given reply stream back to the ORB when unmarshalling has completed after a call to the method _invoke.Request _request(String operation)
Creates a Request object containing the given method that can be used with the Dynamic Invocation Interface.OutputStream _request(String operation, boolean responseExpected)
Returns an OutputStream object to use for marshalling the arguments of the given method.void _servant_postinvoke(ServantObject servant)
Is called by the local stub after it has invoked an operation on the local servant that was previously retrieved from a call to the method _servant_preinvoke.ServantObject _servant_preinvoke(String operation, Class expectedType)
Returns a Java reference to the local servant that should be used for sending a request for the method specified.void _set_delegate(Delegate delegate)
Sets the Delegate for this ObjectImpl instance to the given Delegate object.Object _set_policy_override(Policy[] policies, SetOverrideType set_add)
Sets this ObjectImpl object's override type for the given policies to the given instance of SetOverrideType.boolean equals(Object obj)
Compares this ObjectImpl object with the given one for equality.int hashCode()
Returns the hash code for this ObjectImpl object.String toString()
Returns a String object that represents this ObjectImpl object.
Methods inherited from class java.lang.Object clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Constructor Detail
ObjectImpl
public ObjectImpl()
Method Detail
_get_delegate
public Delegate _get_delegate()
- Retrieves the reference to the vendor-specific Delegate object to which this ObjectImpl object delegates all methods invoked on it.
- Returns:
- the Delegate contained in this ObjectImpl instance
- Throws:
- BAD_OPERATION - if the delegate has not been set
- See Also:
- _set_delegate(org.omg.CORBA.portable.Delegate)
_set_delegate
public void _set_delegate(Delegate delegate)
- Sets the Delegate for this ObjectImpl instance to the given Delegate object. All method invocations on this ObjectImpl object will be forwarded to this delegate.
- Parameters:
- delegate - the Delegate instance to which all method calls on this ObjectImpl object will be delegated; may be implemented by a third-party ORB
- See Also:
- _get_delegate()
_ids
public abstract String[] _ids()
- Retrieves a string array containing the repository identifiers supported by this ObjectImpl object. For example, for a stub, this method returns information about all the interfaces supported by the stub.
- Returns:
- the array of all repository identifiers supported by this ObjectImpl instance
_duplicate
public Object _duplicate()
- Returns a duplicate of this ObjectImpl object.
- Specified by:
- _duplicate in interface Object
- Returns:
- an orb.omg.CORBA.Object object that is a duplicate of this object
_release
public void _release()
- Releases the resources associated with this ObjectImpl object.
- Specified by:
- _release in interface Object
_is_a
public boolean _is_a(String repository_id)
- Checks whether the object identified by the given repository identifier is an ObjectImpl object.
- Specified by:
- _is_a in interface Object
- Parameters:
- repository_id - a String object with the repository identifier to check
- Returns:
- true if the object identified by the given repository id is an instance of ObjectImpl; false otherwise
_is_equivalent
public boolean _is_equivalent(Object that)
- Checks whether the the given ObjectImpl object is equivalent to this ObjectImpl object.
- Specified by:
- _is_equivalent in interface Object
- Parameters:
- that - an instance of ObjectImpl to compare with this ObjectImpl object
- Returns:
- true if the given object is equivalent to this ObjectImpl object; false otherwise
_non_existent
public boolean _non_existent()
- Checks whether the server object for this ObjectImpl object has been destroyed.
- Specified by:
- _non_existent in interface Object
- Returns:
- true if the ORB knows authoritatively that the server object does not exist; false otherwise
_hash
public int _hash(int maximum)
- Retrieves the hash code that serves as an ORB-internal identifier for this ObjectImpl object.
- Specified by:
- _hash in interface Object
- Parameters:
- maximum - an int indicating the upper bound on the hash value returned by the ORB
- Returns:
- an int representing the hash code for this ObjectImpl object
_request
public Request _request(String operation)
- Creates a Request object containing the given method that can be used with the Dynamic Invocation Interface.
- Specified by:
- _request in interface Object
- Parameters:
- operation - the method to be invoked by the new Request object
- Returns:
- a new Request object initialized with the given method
_create_request
public Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result)
- Creates a Request object that contains the given context, method, argument list, and container for the result.
- Specified by:
- _create_request in interface Object
- Parameters:
- ctx - the Context for the request
- operation - the method that the new Request object will invoke
- arg_list - the arguments for the method; an NVList in which each argument is a NamedValue object
- result - a NamedValue object to be used for returning the result of executing the request's method
- Returns:
- a new Request object initialized with the given context, method, argument list, and container for the return value
- See Also:
- Request, NVList, NamedValue
_create_request
public Request _create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exceptions, ContextList contexts)
- Creates a Request object that contains the given context, method, argument list, container for the result, exceptions, and list of property names to be used in resolving the context strings. This Request object is for use in the Dynamic Invocation Interface.
- Specified by:
- _create_request in interface Object
- Parameters:
- ctx - the Context object that contains the context strings that must be resolved before they are sent along with the request
- operation - the method that the new Request object will invoke
- arg_list - the arguments for the method; an NVList in which each argument is a NamedValue object
- result - a NamedValue object to be used for returning the result of executing the request's method
- exceptions - a list of the exceptions that the given method throws
- contexts - a list of the properties that are needed to resolve the contexts in ctx; the strings in contexts are used as arguments to the method Context.get_values, which returns the value associated with the given property
- Returns:
- a new Request object initialized with the given context strings to resolve, method, argument list, container for the result, exceptions, and list of property names to be used in resolving the context strings
- See Also:
- Request, NVList, NamedValue, ExceptionList, ContextList
_get_interface_def
public Object _get_interface_def()
- Retrieves the interface definition for this ObjectImpl object.
- Specified by:
- _get_interface_def in interface Object
- Returns:
- the org.omg.CORBA.Object instance that is the interface definition for this ObjectImpl object
_orb
public ORB _orb()
- Returns a reference to the ORB associated with this object and its delegate. This is the ORB object that created the delegate.
- Returns:
- the ORB instance that created the Delegate object contained in this ObjectImpl object
_get_policy
public Policy _get_policy(int policy_type)
- Retrieves the Policy object for this ObjectImpl object that has the given policy type.
- Specified by:
- _get_policy in interface Object
- Parameters:
- policy_type - an int indicating the policy type
- Returns:
- the Policy object that is the specified policy type and that applies to this ObjectImpl object
- See Also:
- PolicyOperations.policy_type()
_get_domain_managers
public DomainManager[] _get_domain_managers()
- Retrieves a list of the domain managers for this ObjectImpl object.
- Specified by:
- _get_domain_managers in interface Object
- Returns:
- an array containing the DomainManager objects for this instance of ObjectImpl
_set_policy_override
public Object _set_policy_override(Policy[] policies, SetOverrideType set_add)
- Sets this ObjectImpl object's override type for the given policies to the given instance of SetOverrideType.
- Specified by:
- _set_policy_override in interface Object
- Parameters:
- policies - an array of Policy objects with the policies that will replace the current policies or be added to the current policies
- set_add - either SetOverrideType.SET_OVERRIDE, indicating that the given policies will replace any existing ones, or SetOverrideType.ADD_OVERRIDE, indicating that the given policies should be added to any existing ones
- Returns:
- an Object with the given policies replacing or added to its previous policies
_is_local
public boolean _is_local()
- Checks whether this ObjectImpl object is implemented by a local servant. If so, local invocation API's may be used.
- Returns:
- true if this object is implemented by a local servant; false otherwise
_servant_preinvoke
public ServantObject _servant_preinvoke(String operation, Class expectedType)
- Returns a Java reference to the local servant that should be used for sending a request for the method specified. If this ObjectImpl object is a local stub, it will invoke the _servant_preinvoke method before sending a request in order to obtain the ServantObject instance to use.
If a ServantObject object is returned, its servant field has been set to an object of the expected type (Note: the object may or may not be the actual servant instance). The local stub may cast the servant field to the expected type, and then invoke the operation directly. The ServantRequest object is valid for only one invocation and cannot be used for more than one invocation.
- Parameters:
- operation - a String containing the name of the method to be invoked. This name should correspond to the method name as it would be encoded in a GIOP request.
- expectedType - a Class object representing the expected type of the servant that is returned. This expected type is the Class object associated with the operations class for the stub's interface. For example, a stub for an interface Foo would pass the Class object for the FooOperations interface.
- Returns:
- (1) a ServantObject object, which may or may not be the actual servant instance, or (2) null if (a) the servant is not local or (b) the servant has ceased to be local due to a ForwardRequest from a POA ServantManager
- Throws:
- BAD_PARAM - if the servant is not the expected type
_servant_postinvoke
public void _servant_postinvoke(ServantObject servant)
- Is called by the local stub after it has invoked an operation on the local servant that was previously retrieved from a call to the method _servant_preinvoke. The _servant_postinvoke method must be called if the _servant_preinvoke method returned a non-null value, even if an exception was thrown by the method invoked by the servant. For this reason, the call to the method _servant_postinvoke should be placed in a Java finally clause.
- Parameters:
- servant - the instance of the ServantObject returned by the _servant_preinvoke method
_request
public OutputStream _request(String operation, boolean responseExpected)
- Returns an OutputStream object to use for marshalling the arguments of the given method. This method is called by a stub, which must indicate if a response is expected, that is, whether or not the call is oneway.
- Parameters:
- operation - a String giving the name of the method.
- responseExpected - a boolean -- true if the request is not one way, that is, a response is expected
- Returns:
- an OutputStream object for dispatching the request
_invoke
public InputStream _invoke(OutputStream output) throws ApplicationException, RemarshalException
- Invokes an operation and returns an InputStream object for reading the response. The stub provides the OutputStream object that was previously returned by a call to the _request method. The method specified as an argument to _request when it was called previously is the method that this method invokes.
If an exception occurs, the _invoke method may throw an ApplicationException object that contains an InputStream from which the user exception state may be unmarshalled.
- Parameters:
- output - an OutputStream object for dispatching the request
- Returns:
- an InputStream object containing the marshalled response to the method invoked
- Throws:
- ApplicationException - if the invocation meets application-defined exception
- RemarshalException - if the invocation leads to a remarshalling error
- See Also:
- _request(java.lang.String)
_releaseReply
public void _releaseReply(InputStream input)
- Releases the given reply stream back to the ORB when unmarshalling has completed after a call to the method _invoke. Calling this method is optional for the stub.
- Parameters:
- input - the InputStream object that was returned by the _invoke method or the ApplicationException.getInputStream method; may be null, in which case this method does nothing
- See Also:
- _invoke(org.omg.CORBA.portable.OutputStream)
toString
public String toString()
- Returns a String object that represents this ObjectImpl object.
- Overrides:
- toString in class Object
- Returns:
- the String representation of this object
hashCode
public int hashCode()
- Returns the hash code for this ObjectImpl object.
- Overrides:
- hashCode in class Object
- Returns:
- the hash code for this object
- See Also:
- Object.equals(java.lang.Object), Hashtable
equals
public boolean equals(Object obj)
- Compares this ObjectImpl object with the given one for equality.
- Overrides:
- equals in class Object
- Parameters:
- obj - the object with which to compare this object
- Returns:
- true if the two objects are equal; false otherwise
- See Also:
- Object.hashCode(), Hashtable