public class Util extends Object
Modifier and Type | Method | Description |
---|---|---|
static Object |
copyObject(Object obj,
ORB orb) |
Copies or connects an object.
|
static Object[] |
copyObjects(Object[] obj,
ORB orb) |
Copies or connects an array of objects.
|
static ValueHandler |
createValueHandler() |
Returns a singleton instance of a class that implements the
ValueHandler interface. |
static String |
getCodebase(Class clz) |
Returns the codebase, if any, for the given class.
|
static Tie |
getTie(Remote target) |
Returns the tie (if any) for a given target object.
|
static boolean |
isLocal(Stub stub) |
The
isLocal method has the same semantics as the
ObjectImpl._is_local
method, except that it can throw a RemoteException . |
static Class |
loadClass(String className,
String remoteCodebase,
ClassLoader loader) |
Returns a class instance for the specified class.
|
static RemoteException |
mapSystemException(SystemException ex) |
Maps a SystemException to a RemoteException.
|
static Object |
readAny(InputStream in) |
Reads a java.lang.Object as a CORBA any.
|
static void |
registerTarget(Tie tie,
Remote target) |
Registers a target for a tie.
|
static void |
unexportObject(Remote target) |
Removes the associated tie from an internal table
and calls
Tie.deactivate()
to deactivate the object. |
static RemoteException |
wrapException(Throwable orig) |
Wraps an exception thrown by an implementation
method.
|
static void |
writeAbstractObject(OutputStream out,
Object obj) |
Writes a java.lang.Object as either a value or a CORBA Object.
|
static void |
writeAny(OutputStream out,
Object obj) |
Writes any java.lang.Object as a CORBA any.
|
static void |
writeRemoteObject(OutputStream out,
Object obj) |
Writes a java.lang.Object as a CORBA Object.
|
public static RemoteException mapSystemException(SystemException ex)
ex
- the SystemException to map.public static void writeAny(OutputStream out, Object obj)
out
- the stream in which to write the any.obj
- the object to write as an any.public static Object readAny(InputStream in)
in
- the stream from which to read the any.public static void writeRemoteObject(OutputStream out, Object obj)
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)
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)
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
Tie.deactivate()
to deactivate the object.target
- the object to unexport.NoSuchObjectException
public static Tie getTie(Remote target)
public static ValueHandler createValueHandler()
ValueHandler
interface.public static String getCodebase(Class clz)
clz
- the class to get a codebase for.public static Class loadClass(String className, String remoteCodebase, ClassLoader loader) throws ClassNotFoundException
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
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)
orig
- the exception to wrap.public static Object[] copyObjects(Object[] obj, ORB orb) throws RemoteException
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
obj
- the object to copy.orb
- the ORB.RemoteException
- if the object could not be copied or connected. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2017, Oracle and/or its affiliates. 500 Oracle Parkway
Redwood Shores, CA 94065 USA. All rights reserved.
DRAFT 9-internal+0-adhoc.mlchung.jdk9-jdeps