summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
diff options
context:
space:
mode:
authorMark Wielaard <mark@gcc.gnu.org>2006-05-18 17:29:21 +0000
committerMark Wielaard <mark@gcc.gnu.org>2006-05-18 17:29:21 +0000
commit4f9533c7722fa07511a94d005227961f4a4dec23 (patch)
tree9f9c470de62ee62fba1331a396450d728d2b1fad /libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
parenteaec4980e139903ae9b274d1abcf3a13946603a8 (diff)
Imported GNU Classpath 0.90
Imported GNU Classpath 0.90 * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale. * sources.am: Regenerated. * gcj/javaprims.h: Regenerated. * Makefile.in: Regenerated. * gcj/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * gnu/java/lang/VMInstrumentationImpl.java: New override. * gnu/java/net/local/LocalSocketImpl.java: Likewise. * gnu/classpath/jdwp/VMMethod.java: Likewise. * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest interface. * java/lang/Thread.java: Add UncaughtExceptionHandler. * java/lang/reflect/Method.java: Implements GenericDeclaration and isSynthetic(), * java/lang/reflect/Field.java: Likewise. * java/lang/reflect/Constructor.java * java/lang/Class.java: Implements Type, GenericDeclaration, getSimpleName() and getEnclosing*() methods. * java/lang/Class.h: Add new public methods. * java/lang/Math.java: Add signum(), ulp() and log10(). * java/lang/natMath.cc (log10): New function. * java/security/VMSecureRandom.java: New override. * java/util/logging/Logger.java: Updated to latest classpath version. * java/util/logging/LogManager.java: New override. From-SVN: r113887
Diffstat (limited to 'libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java')
-rw-r--r--libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java33
1 files changed, 20 insertions, 13 deletions
diff --git a/libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java b/libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
index dcb12a53b82..cd891a1aaea 100644
--- a/libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
+++ b/libjava/classpath/gnu/java/rmi/server/UnicastServerRef.java
@@ -58,6 +58,10 @@ import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
+/**
+ * This class connects the local, remotely available (exported) object to
+ * the local RMI server that accepts the remote calls.
+ */
public class UnicastServerRef
extends UnicastRef
{
@@ -80,18 +84,18 @@ public class UnicastServerRef
/**
* The skeleton (if any), associated with the exported remote object.
*/
- private Skeleton skel;
+ protected Skeleton skel;
/**
* The stub, associated with the exported remote object (may be proxy class).
*/
- private Remote stub;
+ protected Remote stub;
/**
* The method table (RMI hash code to method) of the methods of the
* exported object.
*/
- private Hashtable methods = new Hashtable();
+ protected Hashtable methods = new Hashtable();
/**
* Used by serialization.
@@ -125,8 +129,7 @@ public class UnicastServerRef
{
myself = obj;
// Save it to server manager, to let client calls in the same VM to
- // issue
- // local call
+ // issue local call
manager.serverobj = obj;
String ignoreStubs;
@@ -202,7 +205,7 @@ public class UnicastServerRef
*
* @return the class having stub defined, null if none.
*/
- private Class findStubSkelClass(Class startCls)
+ protected Class findStubSkelClass(Class startCls)
{
Class cls = startCls;
@@ -242,7 +245,7 @@ public class UnicastServerRef
* @return the instantiated instance of the helper class or null if the
* helper class cannot be found or instantiated.
*/
- private Object getHelperClass(Class cls, String type)
+ protected Object getHelperClass(Class cls, String type)
{
try
{
@@ -310,7 +313,7 @@ public class UnicastServerRef
* @param build if true, the class methods are added to the table. If
* false, they are removed from the table.
*/
- private void buildMethodHash(Class cls, boolean build)
+ protected void buildMethodHash(Class cls, boolean build)
{
Method[] meths = cls.getMethods();
for (int i = 0; i < meths.length; i++)
@@ -339,7 +342,11 @@ public class UnicastServerRef
else
return null;
}
-
+
+ /**
+ * This method is called from the {@link UnicastServer#incomingMessageCall}
+ * to deliver the remote call to this object.
+ */
public Object incomingMessageCall(UnicastConnection conn, int method,
long hash) throws Exception
{
@@ -353,7 +360,8 @@ public class UnicastServerRef
// meth);
if (meth == null)
{
- throw new NoSuchMethodException();
+ throw new NoSuchMethodException(
+ myself.getClass().getName()+" hash "+hash);
}
ObjectInputStream in = conn.getObjectInputStream();
@@ -413,9 +421,8 @@ public class UnicastServerRef
else
{
if (skel == null)
- {
- throw new NoSuchMethodException();
- }
+ throw new NoSuchMethodException("JDK 1.1 call - Skeleton required");
+
UnicastRemoteCall call = new UnicastRemoteCall(conn);
skel.dispatch(myself, call, method, hash);
if (! call.isReturnValue())