Module java.corba
Package org.omg.CORBA

## Class LocalObject

- java.lang.Object
- - org.omg.CORBA.LocalObject

All Implemented Interfaces:
  Object

    public class LocalObject
    extends Object
    implements Object

Used as a base class for implementation of a local IDL interface in the Java language mapping. It is a class which implements all the operations in the `org.omg.CORBA.Object` interface.

Local interfaces are implemented by using CORBA::LocalObject to provide implementations of `Object` pseudo operations and any other ORB-specific support mechanisms that are appropriate for such objects. Object implementation techniques are inherently language-mapping specific. Therefore, the `LocalObject` type is not defined in IDL, but is specified in each language mapping.

Methods that do not apply to local objects throw an `org.omg.CORBA.NO_IMPLEMENT` exception with the message, "This is a locally contrained object." Attempting to use a `LocalObject` to create a DII request results in NO_IMPLEMENT system exception. Attempting to marshal or stringify a `LocalObject` results in a MARSHAL system exception. Narrowing and widening references to `LocalObjects` must work as for regular object references.

`LocalObject` is to be used as the base class of locally constrained objects, such as those in the PortableServer module. The specification here is based on the CORBA Components Volume I - orbos/99-07-01

See Also:
  `CORBA` package comments for unimplemented features

### Constructor Summary

Constructors
Constructor and Description
`LocalObject()` Constructs a default `LocalObject` instance.

### Method Summary

All Methods Instance Methods Concrete Methods
`Request` `_create_request(Context ctx, String operation, NVList arg_list, NamedValue result)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`Request` `_create_request(Context ctx, String operation, NVList arg_list, NamedValue result, ExceptionList exceptions, ContextList contexts)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`Object` `_duplicate()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`DomainManager[]` `_get_domain_managers()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.
`Object` `_get_interface()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.
`Object` `_get_interface_def()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`Policy` `_get_policy(int policy_type)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.
`int` `_hash(int maximum)` Returns a hash value that is consistent for the lifetime of the object, using the given number as the maximum.
`InputStream` `_invoke(OutputStream output)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`boolean` `_is_a(String repository_id)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.
`boolean` `_is_equivalent(Object that)` Determines whether the two object references are equivalent, so far as the ORB can easily determine.
`boolean` `_is_local()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`boolean` `_non_existent()` Always returns `false`.
`ORB` `_orb()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`void` `_release()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`void` `_releaseReply(InputStream input)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`Request` `_request(String operation)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`OutputStream` `_request(String operation, boolean responseExpected)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`void` `_servant_postinvoke(ServantObject servant)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`ServantObject` `_servant_preinvoke(String operation, Class expectedType)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.
`Object` `_set_policy_override(Policy[] policies, SetOverrideType set_add)` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.
`boolean` `validate_connection()` Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LocalObject

    public LocalObject()

Constructs a default `LocalObject` instance.

### Method Detail

#### _is_equivalent

    public boolean _is_equivalent(Object that)

Determines whether the two object references are equivalent, so far as the ORB can easily determine. Two object references are equivalent if they are identical. Two distinct object references which in fact refer to the same object are also equivalent. However, ORBs are not required to attempt determination of whether two distinct object references refer to the same object, since such determination could be impractically expensive.

Default implementation of the org.omg.CORBA.Object method.

Specified by:
  `_is_equivalent` in interface `Object`
Parameters:
  `that` - the object reference with which to check for equivalence
Returns:
  `true` if this object reference is known to be equivalent to the given object reference. Note that `false` indicates only that the two object references are distinct, not necessarily that they reference distinct objects.

#### _non_existent

    public boolean _non_existent()

Always returns `false`. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_non_existent` in interface `Object`
Returns:
  `false`

#### _hash

    public int _hash(int maximum)

Returns a hash value that is consistent for the lifetime of the object, using the given number as the maximum. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_hash` in interface `Object`
Parameters:
  `maximum` - an `int` identifying maximum value of the hashcode
Returns:
  this instance's hashcode

#### _is_a

    public boolean _is_a(String repository_id)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_is_a` in interface `Object`
Parameters:
  `repository_id` - a `String`
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _duplicate

    public Object _duplicate()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_duplicate` in interface `Object`
Returns:
  a duplicate of this `LocalObject` instance.
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _release

    public void _release()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_release` in interface `Object`
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _request

    public Request _request(String operation)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_request` in interface `Object`
Parameters:
  `operation` - a `String` giving the name of an operation to be performed by the request that is returned
Returns:
  a `Request` object with the given operation
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _create_request

    public Request _create_request(Context ctx,
                                   String operation,
                                   NVList arg_list,
                                   NamedValue result)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_create_request` in interface `Object`
Parameters:
  `ctx` - a `Context` object containing a list of properties
  `operation` - the `String` representing the name of the method to be invoked
  `arg_list` - an `NVList` containing the actual arguments to the method being invoked
  `result` - a `NamedValue` object to serve as a container for the method's return value
Returns:
  a new `Request` object initialized with the given arguments
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _create_request

    public Request _create_request(Context ctx,
                                   String operation,
                                   NVList arg_list,
                                   NamedValue result,
                                   ExceptionList exceptions,
                                   ContextList contexts)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_create_request` in interface `Object`
Parameters:
  `ctx` - a `Context` object containing a list of properties
  `operation` - the name of the method to be invoked
  `arg_list` - an `NVList` containing the actual arguments to the method being invoked
  `result` - a `NamedValue` object to serve as a container for the method's return value
  `exceptions` - an `ExceptionList` object containing a list of possible exceptions the method can throw
  `contexts` - a `ContextList` object containing a list of context strings that need to be resolved and sent with the `Request` instance
Returns:
  the new `Request` object initialized with the given arguments
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _get_interface

    public Object _get_interface()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _get_interface_def

    public Object _get_interface_def()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_get_interface_def` in interface `Object`
Returns:
  the `InterfaceDef` object in the Interface Repository which provides type information about the object referred to by this object reference
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _orb

    public ORB _orb()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Returns:
  the ORB instance that created the Delegate contained in this `ObjectImpl`
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _get_policy

    public Policy _get_policy(int policy_type)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_get_policy` in interface `Object`
Parameters:
  `policy_type` - an `int`
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _get_domain_managers

    public DomainManager[] _get_domain_managers()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_get_domain_managers` in interface `Object`
Returns:
  the list of immediately enclosing domain managers of this object. At least one domain manager is always returned in the list since by default each object is associated with at least one domain manager at creation.
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _set_policy_override

    public Object _set_policy_override(Policy[] policies,
                                       SetOverrideType set_add)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Specified by:
  `_set_policy_override` in interface `Object`
Parameters:
  `policies` - an array
  `set_add` - a flag
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _is_local

    public boolean _is_local()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Returns `true` for this `LocalObject` instance.

Returns:
  `true` always
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _servant_preinvoke

    public ServantObject _servant_preinvoke(String operation,
                                            Class expectedType)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Parameters:
  `operation` - a `String` indicating which operation to preinvoke
  `expectedType` - the class of the type of operation mentioned above
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local object
See Also:
  `CORBA` package comments for unimplemented features

#### _servant_postinvoke

    public void _servant_postinvoke(ServantObject servant)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Parameters:
  `servant` - the servant object on which to post-invoke
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### _request

    public OutputStream _request(String operation,
                                 boolean responseExpected)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Called by a stub to obtain an OutputStream for marshaling arguments. The stub must supply the operation name, and indicate if a response is expected (i.e is this a oneway call).

Parameters:
  `operation` - the name of the operation being requested
  `responseExpected` - `true` if a response is expected, `false` if it is a one-way call
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _invoke

    public InputStream _invoke(OutputStream output)
                        throws ApplicationException,
                               RemarshalException

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

Called to invoke an operation. The stub provides an `OutputStream` that was previously returned by a `_request()` call. `_invoke` returns an `InputStream` which contains the marshaled reply. If an exception occurs, `_invoke` may throw an `ApplicationException` object which contains an `InputStream` from which the user exception state may be unmarshaled.

Parameters:
  `output` - the `OutputStream` to invoke
Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `ApplicationException` - If an exception occurs, `_invoke` may throw an `ApplicationException` object which contains an `InputStream` from which the user exception state may be unmarshaled.
  `RemarshalException` - If an exception occurs, `_invoke` may throw an `ApplicationException` object which contains an `InputStream` from which the user exception state may be unmarshaled.
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features

#### _releaseReply

    public void _releaseReply(InputStream input)

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method is the default implementation of the `org.omg.CORBA.Object` method.

May optionally be called by a stub to release a reply stream back to the ORB when the unmarshaling has completed. The stub passes the `InputStream` returned by `_invoke()` or `ApplicationException.getInputStream()`. A null value may also be passed to `_releaseReply`, in which case the method is a no-op.

Parameters:
  `input` - the reply stream back to the ORB or null
Throws:
  `NO_IMPLEMENT`
See Also:
  `CORBA` package comments for unimplemented features

#### validate_connection

    public boolean validate_connection()

Throws an `org.omg.CORBA.NO_IMPLEMENT` exception with the message "This is a locally constrained object." This method does not apply to local objects and is therefore not implemented. This method is the default implementation of the `org.omg.CORBA.Object` method.

Returns:
  NO_IMPLEMENT because this is a locally constrained object and this method does not apply to local objects
Throws:
  `NO_IMPLEMENT` - because this is a locally constrained object and this method does not apply to local objects
See Also:
  `CORBA` package comments for unimplemented features