| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectclassUtils.javassist.rmi.ObjectImporter
public class ObjectImporter
The object importer enables applets to call a method on a remote
 object running on the Webserver.
 
To access the remote
 object, the applet first calls lookupObject() and
 obtains a proxy object, which is a reference to that object.
 The class name of the proxy object is identical to that of
 the remote object.
 The proxy object provides the same set of methods as the remote object.
 If one of the methods is invoked on the proxy object,
 the invocation is delegated to the remote object.
 From the viewpoint of the applet, therefore, the two objects are
 identical. The applet can access the object on the server
 with the regular Java syntax without concern about the actual
 location.
 
The methods remotely called by the applet must be public.
 This is true even if the applet's class and the remote object's classs
 belong to the same package.
 
If class X is a class of remote objects, a subclass of X must be also a class of remote objects. On the other hand, this restriction is not applied to the superclass of X. The class X does not have to contain a constructor taking no arguments.
The parameters to a remote method is passed in the call-by-value
 manner.  Thus all the parameter classes must implement
 java.io.Serializable.  However, if the parameter is the
 proxy object, the reference to the remote object instead of a copy of
 the object is passed to the method.
 
Because of the limitations of the current implementation,
C is of the remote object, then
 the applet cannot instantiate C locally or remotely.
 All the exceptions thrown by the remote object are converted
 into RemoteException.  Since this exception is a subclass
 of RuntimeException, the caller method does not need
 to catch the exception.  However, good programs should catch
 the RuntimeException.
AppletServer, 
RemoteException, 
Viewer, 
Serialized Form| Constructor Summary | |
|---|---|
| ObjectImporter(java.applet.Applet applet)Constructs an object importer. | |
| ObjectImporter(java.lang.String servername,
               int port)Constructs an object importer. | |
| Method Summary | |
|---|---|
|  java.lang.Object | call(int objectid,
     int methodid,
     java.lang.Object[] args)Calls a method on a remote object. | 
|  java.lang.Object | getObject(java.lang.String name)Finds the object exported by a server with the specified name. | 
|  java.lang.Object | lookupObject(java.lang.String name)Finds the object exported by the server with the specified name. | 
|  void | setHttpProxy(java.lang.String host,
             int port)Sets an http proxy server. | 
| Methods inherited from class java.lang.Object | 
|---|
| equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public ObjectImporter(java.applet.Applet applet)
Remote objects are imported from the web server that the given applet has been loaded from.
applet - the applet loaded from
 the Webserver.
public ObjectImporter(java.lang.String servername,
                      int port)
If you run a program with javassist.web.Viewer,
 you can construct an object importer as follows:
 
Viewer v = (Viewer)this.getClass().getClassLoader(); ObjectImporter oi = new ObjectImporter(v.getServer(), v.getPort());
Viewer| Method Detail | 
|---|
public java.lang.Object getObject(java.lang.String name)
name - the name of the exported object.
public void setHttpProxy(java.lang.String host,
                         int port)
public java.lang.Object lookupObject(java.lang.String name)
                              throws ObjectNotFoundException
name - the name of the exported object.
ObjectNotFoundException
public java.lang.Object call(int objectid,
                             int methodid,
                             java.lang.Object[] args)
                      throws RemoteException
This method is called by only proxy objects.
RemoteException| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||