diff -r 000000000000 -r 55540e827aef src/share/classes/org/omg/CORBA/LocalObject.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/classes/org/omg/CORBA/LocalObject.java Sat Dec 01 00:00:00 2007 +0000 @@ -0,0 +1,500 @@ +/* + * Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +package org.omg.CORBA; +import org.omg.CORBA.portable.*; + + +/** + *
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 CORBA
package
+ * comments for unimplemented features
+ */
+
+public class LocalObject implements org.omg.CORBA.Object
+{
+ private static String reason = "This is a locally constrained object.";
+
+ /**
+ * Constructs a default LocalObject
instance.
+ */
+ public LocalObject() {}
+
+ /**
+ *
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.
+ *
+ * @param that the object reference with which to check for equivalence
+ * @return 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.
+ */
+ public boolean _is_equivalent(org.omg.CORBA.Object that) {
+ return equals(that) ;
+ }
+
+ /**
+ * Always returns false
.
+ * This method is the default implementation of the
+ * org.omg.CORBA.Object
method.
+ *
+ * @return false
+ */
+ public boolean _non_existent() {
+ return false;
+ }
+
+ /**
+ * 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.
+ * @param maximum an int
identifying maximum value of
+ * the hashcode
+ * @return this instance's hashcode
+ */
+ public int _hash(int maximum) {
+ return hashCode() ;
+ }
+
+ /**
+ * 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.
+ *
+ * @param repository_id a String
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public boolean _is_a(String repository_id) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @return a duplicate of this LocalObject
instance.
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.Object _duplicate() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public void _release() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ *
+ * @param operation a String
giving the name of an operation
+ * to be performed by the request that is returned
+ * @return a Request
object with the given operation
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public Request _request(String operation) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ *
+ * @param ctx a Context
object containing
+ * a list of properties
+ * @param operation the String
representing the name of the
+ * method to be invoked
+ * @param arg_list an NVList
containing the actual arguments
+ * to the method being invoked
+ * @param result a NamedValue
object to serve as a
+ * container for the method's return value
+ * @return a new Request
object initialized with the given
+ * arguments
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public Request _create_request(Context ctx,
+ String operation,
+ NVList arg_list,
+ NamedValue result) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ *
+ * @param ctx a Context
object containing
+ * a list of properties
+ * @param operation the name of the method to be invoked
+ * @param arg_list an NVList
containing the actual arguments
+ * to the method being invoked
+ * @param result a NamedValue
object to serve as a
+ * container for the method's return value
+ * @param exceptions an ExceptionList
object containing a
+ * list of possible exceptions the method can throw
+ * @param contexts a ContextList
object containing a list of
+ * context strings that need to be resolved and sent
+ * with the
+ * Request
instance
+ * @return the new Request
object initialized with the given
+ * arguments
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public Request _create_request(Context ctx,
+ String operation,
+ NVList arg_list,
+ NamedValue result,
+ ExceptionList exceptions,
+ ContextList contexts) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.Object _get_interface()
+ {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.Object _get_interface_def()
+ {
+ // First try to call the delegate implementation class's
+ // "Object get_interface_def(..)" method (will work for JDK1.2
+ // ORBs).
+ // Else call the delegate implementation class's
+ // "InterfaceDef get_interface(..)" method using reflection
+ // (will work for pre-JDK1.2 ORBs).
+
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @return the ORB instance that created the Delegate contained in this
+ * ObjectImpl
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.ORB _orb() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @param policy_type an int
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.Policy _get_policy(int policy_type) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+
+ /**
+ * 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.
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.DomainManager[] _get_domain_managers() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ *
+ * @param policies an array
+ * @param set_add a flag
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public org.omg.CORBA.Object
+ _set_policy_override(org.omg.CORBA.Policy[] policies,
+ org.omg.CORBA.SetOverrideType set_add) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+
+ /**
+ * 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.
+ * @return true
always
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public boolean _is_local() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @param operation a String
indicating which operation
+ * to preinvoke
+ * @param expectedType the class of the type of operation mentioned above
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local object
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public ServantObject _servant_preinvoke(String operation,
+ Class expectedType) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @param servant the servant object on which to post-invoke
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public void _servant_postinvoke(ServantObject servant) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /*
+ * The following methods were added by orbos/98-04-03: Java to IDL
+ * Mapping. These are used by RMI over IIOP.
+ */
+
+ /**
+ * 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).
+ * @param operation the name of the operation being requested
+ * @param responseExpected true
if a response is expected,
+ * false
if it is a one-way call
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public OutputStream _request(String operation,
+ boolean responseExpected) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @param output the OutputStream
to invoke
+ * @return 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.
+ * @throws RemarshalException If an exception occurs,
+ * _invoke
may throw an
+ * ApplicationException
object which contains
+ * an InputStream
from
+ * which the user exception state may be unmarshaled.
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public InputStream _invoke(OutputStream output)
+ throws ApplicationException, RemarshalException
+ {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @param input the reply stream back to the ORB or null
+ * @exception NO_IMPLEMENT
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+ public void _releaseReply(InputStream input) {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+
+ /**
+ * 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.
+ * @return NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @exception NO_IMPLEMENT because this is a locally constrained object
+ * and this method does not apply to local objects
+ * @see CORBA
package
+ * comments for unimplemented features
+ */
+
+ public boolean validate_connection() {
+ throw new org.omg.CORBA.NO_IMPLEMENT(reason);
+ }
+}