| /* |
| * Copyright (c) 2000, 2001, Oracle and/or its affiliates. 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. Oracle designates this |
| * particular file as subject to the "Classpath" exception as provided |
| * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| * or visit www.oracle.com if you need additional information or have any |
| * questions. |
| */ |
| |
| package org.omg.CORBA; |
| import org.omg.CORBA.portable.*; |
| |
| |
| /** |
| * <P>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 <tt>org.omg.CORBA.Object</tt> interface. |
| * <P>Local interfaces are implemented by using CORBA::LocalObject |
| * to provide implementations of <code>Object</code> 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 |
| * <code>LocalObject</code> type is not defined in IDL, but is specified |
| * in each language mapping. |
| * <P>Methods that do not apply to local objects throw |
| * an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with the message, |
| * "This is a locally contrained object." Attempting to use a |
| * <TT>LocalObject</TT> to create a DII request results in NO_IMPLEMENT |
| * system exception. Attempting to marshal or stringify a |
| * <TT>LocalObject</TT> results in a MARSHAL system exception. Narrowing |
| * and widening references to <TT>LocalObjects</TT> must work as for regular |
| * object references. |
| * <P><code>LocalObject</code> 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<P> |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| |
| public class LocalObject implements org.omg.CORBA.Object |
| { |
| private static String reason = "This is a locally constrained object."; |
| |
| /** |
| * Constructs a default <code>LocalObject</code> instance. |
| */ |
| public LocalObject() {} |
| |
| /** |
| * <P>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. |
| * <P>Default implementation of the org.omg.CORBA.Object method. <P> |
| * |
| * @param that the object reference with which to check for equivalence |
| * @return <code>true</code> if this object reference is known to be |
| * equivalent to the given object reference. |
| * Note that <code>false</code> 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 <code>false</code>. |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * |
| * @return <code>false</code> |
| */ |
| 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @param maximum an <code>int</code> identifying maximum value of |
| * the hashcode |
| * @return this instance's hashcode |
| */ |
| public int _hash(int maximum) { |
| return hashCode() ; |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * |
| * @param repository_id a <code>String</code> |
| * @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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public boolean _is_a(String repository_id) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @return a duplicate of this <code>LocalObject</code> instance. |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public org.omg.CORBA.Object _duplicate() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public void _release() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * |
| * @param operation a <code>String</code> giving the name of an operation |
| * to be performed by the request that is returned |
| * @return a <code>Request</code> object with the given operation |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public Request _request(String operation) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * |
| * @param ctx a <code>Context</code> object containing |
| * a list of properties |
| * @param operation the <code>String</code> representing the name of the |
| * method to be invoked |
| * @param arg_list an <code>NVList</code> containing the actual arguments |
| * to the method being invoked |
| * @param result a <code>NamedValue</code> object to serve as a |
| * container for the method's return value |
| * @return a new <code>Request</code> object initialized with the given |
| * arguments |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public Request _create_request(Context ctx, |
| String operation, |
| NVList arg_list, |
| NamedValue result) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * |
| * @param ctx a <code>Context</code> object containing |
| * a list of properties |
| * @param operation the name of the method to be invoked |
| * @param arg_list an <code>NVList</code> containing the actual arguments |
| * to the method being invoked |
| * @param result a <code>NamedValue</code> object to serve as a |
| * container for the method's return value |
| * @param exceptions an <code>ExceptionList</code> object containing a |
| * list of possible exceptions the method can throw |
| * @param contexts a <code>ContextList</code> object containing a list of |
| * context strings that need to be resolved and sent |
| * with the |
| * <code>Request</code> instance |
| * @return the new <code>Request</code> object initialized with the given |
| * arguments |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| 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 <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public org.omg.CORBA.Object _get_interface() |
| { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| 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 <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @return the ORB instance that created the Delegate contained in this |
| * <code>ObjectImpl</code> |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public org.omg.CORBA.ORB _orb() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @param policy_type an <code>int</code> |
| * @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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public org.omg.CORBA.Policy _get_policy(int policy_type) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public org.omg.CORBA.DomainManager[] _get_domain_managers() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> 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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| 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 <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * Returns <code>true</code> for this <code>LocalObject</code> instance.<P> |
| * @return <code>true</code> always |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public boolean _is_local() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @param operation a <code>String</code> 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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public ServantObject _servant_preinvoke(String operation, |
| Class expectedType) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @param servant the servant object on which to post-invoke |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| 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 <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method. |
| * <P>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).<P> |
| * @param operation the name of the operation being requested |
| * @param responseExpected <code>true</code> if a response is expected, |
| * <code>false</code> 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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public OutputStream _request(String operation, |
| boolean responseExpected) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method. |
| * <P>Called to invoke an operation. The stub provides an |
| * <code>OutputStream</code> that was previously returned by a |
| * <code>_request()</code> |
| * call. <code>_invoke</code> returns an <code>InputStream</code> which |
| * contains the |
| * marshaled reply. If an exception occurs, <code>_invoke</code> may throw an |
| * <code>ApplicationException</code> object which contains an |
| * <code>InputStream</code> from |
| * which the user exception state may be unmarshaled.<P> |
| * @param output the <code>OutputStream</code> 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, |
| * <code>_invoke</code> may throw an |
| * <code>ApplicationException</code> object which contains |
| * an <code>InputStream</code> from |
| * which the user exception state may be unmarshaled. |
| * @throws RemarshalException If an exception occurs, |
| * <code>_invoke</code> may throw an |
| * <code>ApplicationException</code> object which contains |
| * an <code>InputStream</code> 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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public InputStream _invoke(OutputStream output) |
| throws ApplicationException, RemarshalException |
| { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> exception with |
| * the message "This is a locally constrained object." |
| * This method is the default implementation of the |
| * <code>org.omg.CORBA.Object</code> method. |
| * <P>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 <code>InputStream</code> returned by |
| * <code>_invoke()</code> or |
| * <code>ApplicationException.getInputStream()</code>. |
| * A null |
| * value may also be passed to <code>_releaseReply</code>, in which case the |
| * method is a no-op.<P> |
| * @param input the reply stream back to the ORB or null |
| * @exception NO_IMPLEMENT |
| * @see <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| public void _releaseReply(InputStream input) { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| |
| /** |
| * Throws an <code>org.omg.CORBA.NO_IMPLEMENT</code> 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 |
| * <code>org.omg.CORBA.Object</code> method.<P> |
| * @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 <a href="package-summary.html#unimpl"><code>CORBA</code> package |
| * comments for unimplemented features</a> |
| */ |
| |
| public boolean validate_connection() { |
| throw new org.omg.CORBA.NO_IMPLEMENT(reason); |
| } |
| } |