public class Util extends Object
Provides utility methods that can be used by stubs and ties to perform common operations.
public static RemoteException mapSystemException(SystemException ex)
Maps a SystemException to a RemoteException.
ex
- the SystemException to map.public static void writeAny(OutputStream out, Object obj)
Writes any java.lang.Object as a CORBA any.
out
- the stream in which to write the any.obj
- the object to write as an any.public static Object readAny(InputStream in)
Reads a java.lang.Object as a CORBA any.
in
- the stream from which to read the any.public static void writeRemoteObject(OutputStream out, Object obj)
Writes a java.lang.Object as a CORBA Object. If obj
is an exported RMI-IIOP server object, the tie is found and wired to obj
, then written to out.write_Object(org.omg.CORBA.Object)
. If obj
is a CORBA Object, it is written to out.write_Object(org.omg.CORBA.Object)
.
out
- the stream in which to write the object.obj
- the object to write.public static void writeAbstractObject(OutputStream out, Object obj)
Writes a java.lang.Object as either a value or a CORBA Object. If obj
is a value object or a stub object, it is written to out.write_abstract_interface(java.lang.Object)
. If obj
is an exported RMI-IIOP server object, the tie is found and wired to obj
, then written to out.write_abstract_interface(java.lang.Object)
.
out
- the stream in which to write the object.obj
- the object to write.public static void registerTarget(Tie tie, Remote target)
Registers a target for a tie. Adds the tie to an internal table and calls Tie.setTarget(java.rmi.Remote)
on the tie object.
tie
- the tie to register.target
- the target for the tie.public static void unexportObject(Remote target) throws NoSuchObjectException
Removes the associated tie from an internal table and calls Tie.deactivate()
to deactivate the object.
target
- the object to unexport.NoSuchObjectException
public static Tie getTie(Remote target)
Returns the tie (if any) for a given target object.
public static ValueHandler createValueHandler()
Returns a singleton instance of a class that implements the ValueHandler
interface.
public static String getCodebase(Class clz)
Returns the codebase, if any, for the given class.
clz
- the class to get a codebase for.public static Class loadClass(String className, String remoteCodebase, ClassLoader loader) throws ClassNotFoundException
Returns a class instance for the specified class.
The spec for this method is the "Java to IDL language mapping", ptc/00-01-06.
In Java SE Platform, this method works as follows:
ClassLoader
on the call stack and attempt to load the class using this ClassLoader
. remoteCodebase
is non-null and useCodebaseOnly
is false, then call java.rmi.server.RMIClassLoader.loadClass(remoteCodebase, className)
. remoteCodebase
is null or useCodebaseOnly
is true, then call java.rmi.server.RMIClassLoader.loadClass(className)
. loader
is non-null, then call loader.loadClass(className)
. ClassNotFoundException
.className
- the name of the class.remoteCodebase
- a space-separated list of URLs at which the class might be found. May be null.loader
- a ClassLoader
that may be used to load the class if all other methods fail.Class
object representing the loaded class.ClassNotFoundException
- if class cannot be loaded.public static boolean isLocal(Stub stub) throws RemoteException
The isLocal
method has the same semantics as the ObjectImpl._is_local
method, except that it can throw a RemoteException
. The _is_local()
method is provided so that stubs may determine if a particular object is implemented by a local servant and hence local invocation APIs may be used.
stub
- the stub to test._is_local()
method returns true if the servant incarnating the object is located in the same process as the stub and they both share the same ORB instance. The _is_local()
method returns false otherwise. The default behavior of _is_local()
is to return false.RemoteException
- The Java to IDL specification does not specify the conditions that cause a RemoteException
to be thrown.public static RemoteException wrapException(Throwable orig)
Wraps an exception thrown by an implementation method. It returns the corresponding client-side exception.
orig
- the exception to wrap.public static Object[] copyObjects(Object[] obj, ORB orb) throws RemoteException
Copies or connects an array of objects. Used by local stubs to copy any number of actual parameters, preserving sharing across parameters as necessary to support RMI semantics.
obj
- the objects to copy or connect.orb
- the ORB.RemoteException
- if any object could not be copied or connected.public static Object copyObject(Object obj, ORB orb) throws RemoteException
Copies or connects an object. Used by local stubs to copy an actual parameter, result object, or exception.
obj
- the object to copy.orb
- the ORB.RemoteException
- if the object could not be copied or connected.
© 1993–2017, 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.