Class ObjectImpl
- java.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.
Constructors
Constructor and Description |
---|
ObjectImpl() |
Methods
Modifier and Type | Method and Description |
---|---|
Request |
_create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result) Creates a |
Request |
_create_request(Context ctx,
String operation,
NVList arg_list,
NamedValue result,
ExceptionList exceptions,
ContextList contexts) Creates a |
Object |
_duplicate() Returns a duplicate of this |
Delegate |
_get_delegate() Retrieves the reference to the vendor-specific |
DomainManager[] |
_get_domain_managers() Retrieves a list of the domain managers for this |
Object |
_get_interface_def() Retrieves the interface definition for this |
Policy |
_get_policy(int policy_type) Retrieves the |
int |
_hash(int maximum) Retrieves the hash code that serves as an ORB-internal identifier for this |
abstract String[] |
_ids() Retrieves a string array containing the repository identifiers supported by this |
InputStream |
_invoke(OutputStream output) Invokes an operation and returns an |
boolean |
_is_a(String repository_id) Checks whether the object identified by the given repository identifier is an |
boolean |
_is_equivalent(Object that) Checks whether the the given |
boolean |
_is_local() Checks whether this |
boolean |
_non_existent() Checks whether the server object for this |
ORB |
_orb() Returns a reference to the ORB associated with this object and its delegate. |
void |
_release() Releases the resources associated with this |
void |
_releaseReply(InputStream input) Releases the given reply stream back to the ORB when unmarshalling has completed after a call to the method |
Request |
_request(String operation) Creates a |
OutputStream |
_request(String operation,
boolean responseExpected) Returns an |
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 |
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 |
Object |
_set_policy_override(Policy[] policies,
SetOverrideType set_add) Sets this |
boolean |
equals(Object obj) Compares this |
int |
hashCode() Returns the hash code for this |
String |
toString() Returns a |
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Constructors
ObjectImpl
public ObjectImpl()
Methods
_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
- theDelegate
instance to which all method calls on thisObjectImpl
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 interfaceObject
- 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.
_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 interfaceObject
- Parameters:
-
repository_id
- aString
object with the repository identifier to check - Returns:
-
true
if the object identified by the given repository id is an instance ofObjectImpl
;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 interfaceObject
- Parameters:
-
that
- an instance ofObjectImpl
to compare with thisObjectImpl
object - Returns:
-
true
if the given object is equivalent to thisObjectImpl
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 interfaceObject
- 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 interfaceObject
- Parameters:
-
maximum
- anint
indicating the upper bound on the hash value returned by the ORB - Returns:
- an
int
representing the hash code for thisObjectImpl
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 interfaceObject
- Parameters:
-
operation
- the method to be invoked by the newRequest
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 interfaceObject
- Parameters:
-
ctx
- the Context for the request -
operation
- the method that the newRequest
object will invoke -
arg_list
- the arguments for the method; anNVList
in which each argument is aNamedValue
object -
result
- aNamedValue
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 interfaceObject
- Parameters:
-
ctx
- theContext
object that contains the context strings that must be resolved before they are sent along with the request -
operation
- the method that the newRequest
object will invoke -
arg_list
- the arguments for the method; anNVList
in which each argument is aNamedValue
object -
result
- aNamedValue
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 methodContext.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 interfaceObject
- Returns:
- the
org.omg.CORBA.Object
instance that is the interface definition for thisObjectImpl
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 theDelegate
object contained in thisObjectImpl
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 interfaceObject
- Parameters:
-
policy_type
- an int indicating the policy type - Returns:
- the
Policy
object that is the specified policy type and that applies to thisObjectImpl
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 interfaceObject
- Returns:
- an array containing the
DomainManager
objects for this instance ofObjectImpl
_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 interfaceObject
- Parameters:
-
policies
- an array ofPolicy
objects with the policies that will replace the current policies or be added to the current policies -
set_add
- eitherSetOverrideType.SET_OVERRIDE
, indicating that the given policies will replace any existing ones, orSetOverrideType.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
- aString
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
- aClass
object representing the expected type of the servant that is returned. This expected type is theClass
object associated with the operations class for the stub's interface. For example, a stub for an interfaceFoo
would pass theClass
object for theFooOperations
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 theServantObject
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
- theInputStream
object that was returned by the_invoke
method or theApplicationException.getInputStream
method; may benull
, 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.
hashCode
public int hashCode()
Returns the hash code for this ObjectImpl
object.
- Overrides:
-
hashCode
in classObject
- Returns:
- the hash code for this object
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object obj)
Compares this ObjectImpl
object with the given one for equality.
- Overrides:
-
equals
in classObject
- Parameters:
-
obj
- the object with which to compare this object - Returns:
-
true
if the two objects are equal;false
otherwise - See Also:
-
Object.hashCode()
,HashMap
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/org/omg/CORBA/portable/ObjectImpl.html