edu.ucdavis.rj.VM
Class RemoteRefs

java.lang.Object
  extended by edu.ucdavis.rj.VM.RemoteRefs
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class RemoteRefs
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

Class representing a remote object. Contain one OpProxy for each instance operation in the remote object.

See Also:
Serialized Form

Field Summary
(package private)  java.util.HashMap<java.lang.String,OpProxy> map
           
private static java.lang.String opClassNamePrefix
           
private static java.lang.String[] opClassNames
           
(package private) static long serialVersionUID
           
 
Constructor Summary
RemoteRefs(java.lang.Class<?> cc, java.lang.Object obj)
           
 
Method Summary
 java.lang.Object clone()
          Clones this object.
private static void considerField(java.lang.reflect.Field field, java.util.HashMap<java.lang.String,java.lang.reflect.Field> ops)
           
private static void doGetOpFields(java.lang.Class<?> c, java.util.HashMap<java.lang.String,java.lang.reflect.Field> ops)
           
private static boolean fieldIsOp(java.lang.reflect.Field field)
           
 OpProxy get(java.lang.String id)
          Returns the OpProxy within this RemoteRefs for the named operation.
private static java.util.HashMap<java.lang.String,java.lang.reflect.Field> getOpFields(java.lang.Class<?> c)
           
private static java.util.HashMap<java.lang.String,OpProxy> getRemoteRefs(java.lang.Class<?> cc, java.lang.Object obj)
           
static RemoteRefs getThisRemoteRefs(java.lang.Object obj)
          Equivalent to JR's this.remote.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

opClassNamePrefix

private static final java.lang.String opClassNamePrefix
See Also:
Constant Field Values

opClassNames

private static final java.lang.String[] opClassNames

map

java.util.HashMap<java.lang.String,OpProxy> map

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

RemoteRefs

RemoteRefs(java.lang.Class<?> cc,
           java.lang.Object obj)
Method Detail

get

public OpProxy get(java.lang.String id)
Returns the OpProxy within this RemoteRefs for the named operation.

Parameters:
id - the name of operation. (N.B., the name is a String.)
Returns:
the OpProxy for id.

getRemoteRefs

private static java.util.HashMap<java.lang.String,OpProxy> getRemoteRefs(java.lang.Class<?> cc,
                                                                         java.lang.Object obj)
                                                                  throws java.lang.IllegalAccessException
Throws:
java.lang.IllegalAccessException

getOpFields

private static java.util.HashMap<java.lang.String,java.lang.reflect.Field> getOpFields(java.lang.Class<?> c)

doGetOpFields

private static void doGetOpFields(java.lang.Class<?> c,
                                  java.util.HashMap<java.lang.String,java.lang.reflect.Field> ops)

considerField

private static void considerField(java.lang.reflect.Field field,
                                  java.util.HashMap<java.lang.String,java.lang.reflect.Field> ops)

fieldIsOp

private static boolean fieldIsOp(java.lang.reflect.Field field)

getThisRemoteRefs

public static RemoteRefs getThisRemoteRefs(java.lang.Object obj)
Equivalent to JR's this.remote.

Parameters:
obj - an Object.
Returns:
RemoteRefs for obj.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clones this object.

Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException