- java.lang.Object
-
- javax.rmi.CORBA.Util
-
public class Util extends Object
Provides utility methods that can be used by stubs and ties to perform common operations.
-
-
Method Summary
Methods Modifier and Type Method and 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 theValueHandler
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 callsTie.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.
-
-
-
Method Detail
-
mapSystemException
public static RemoteException mapSystemException(SystemException ex)
Maps a SystemException to a RemoteException.- Parameters:
ex
- the SystemException to map.- Returns:
- the mapped exception.
-
writeAny
public static void writeAny(OutputStream out, Object obj)
Writes any java.lang.Object as a CORBA any.- Parameters:
out
- the stream in which to write the any.obj
- the object to write as an any.
-
readAny
public static Object readAny(InputStream in)
Reads a java.lang.Object as a CORBA any.- Parameters:
in
- the stream from which to read the any.- Returns:
- the object read from the stream.
-
writeRemoteObject
public static void writeRemoteObject(OutputStream out, Object obj)
Writes a java.lang.Object as a CORBA Object. Ifobj
is an exported RMI-IIOP server object, the tie is found and wired toobj
, then written toout.write_Object(org.omg.CORBA.Object)
. Ifobj
is a CORBA Object, it is written toout.write_Object(org.omg.CORBA.Object)
.- Parameters:
out
- the stream in which to write the object.obj
- the object to write.
-
writeAbstractObject
public static void writeAbstractObject(OutputStream out, Object obj)
Writes a java.lang.Object as either a value or a CORBA Object. Ifobj
is a value object or a stub object, it is written toout.write_abstract_interface(java.lang.Object)
. Ifobj
is an exported RMI-IIOP server object, the tie is found and wired toobj
, then written toout.write_abstract_interface(java.lang.Object)
.- Parameters:
out
- the stream in which to write the object.obj
- the object to write.
-
registerTarget
public static void registerTarget(Tie tie, Remote target)
Registers a target for a tie. Adds the tie to an internal table and callsTie.setTarget(java.rmi.Remote)
on the tie object.- Parameters:
tie
- the tie to register.target
- the target for the tie.
-
unexportObject
public static void unexportObject(Remote target) throws NoSuchObjectException
Removes the associated tie from an internal table and callsTie.deactivate()
to deactivate the object.- Parameters:
target
- the object to unexport.- Throws:
NoSuchObjectException
-
getTie
public static Tie getTie(Remote target)
Returns the tie (if any) for a given target object.- Returns:
- the tie or null if no tie is registered for the given target.
-
createValueHandler
public static ValueHandler createValueHandler()
Returns a singleton instance of a class that implements theValueHandler
interface.- Returns:
- a class which implements the ValueHandler interface.
-
getCodebase
public static String getCodebase(Class clz)
Returns the codebase, if any, for the given class.- Parameters:
clz
- the class to get a codebase for.- Returns:
- a space-separated list of URLs, or null.
-
loadClass
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:
- Find the first non-null ClassLoader on the call stack and attempt to load the class using this ClassLoader.
- If the first step fails, and if remoteCodebase is non-null and useCodebaseOnly is false, then call java.rmi.server.RMIClassLoader.loadClass(remoteCodebase, className).
- If remoteCodebase is null or useCodebaseOnly is true, then call java.rmi.server.RMIClassLoader.loadClass(className).
- If a class was not successfully loaded by step 1, 2, or 3, and loader is non-null, then call loader.loadClass(className).
- If a class was successfully loaded by step 1, 2, 3, or 4, then return the loaded class, else throw ClassNotFoundException.
- Parameters:
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.- Returns:
- the
Class
object representing the loaded class. - Throws:
ClassNotFoundException
- if class cannot be loaded.
-
isLocal
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.- Parameters:
stub
- the stub to test.- Returns:
- The _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.
- Throws:
RemoteException
- The Java to IDL specification does not specify the conditions that cause a RemoteException to be thrown.
-
wrapException
public static RemoteException wrapException(Throwable orig)
Wraps an exception thrown by an implementation method. It returns the corresponding client-side exception.- Parameters:
orig
- the exception to wrap.- Returns:
- the wrapped exception.
-
copyObjects
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.- Parameters:
obj
- the objects to copy or connect.orb
- the ORB.- Returns:
- the copied or connected objects.
- Throws:
RemoteException
- if any object could not be copied or connected.
-
copyObject
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.- Parameters:
obj
- the object to copy.orb
- the ORB.- Returns:
- the copy or connected object.
- Throws:
RemoteException
- if the object could not be copied or connected.
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/rmi/corba/util.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.