|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.objectweb.jac.core.dist.RemoteContainer | +--org.objectweb.jac.core.dist.rmi.RMIRemoteContainerStub
RMIRemoteContainerStub acts as a client stub to access a remote container. RMIRemoteContainerStub holds a RMIRemoteContainer_Stub instance. This is the client stub of the remote RMIRemoteContainer object that owns as a delegate the container that is to be accessed. Note: what we need is an instance of something that extends RemoteContainer. But we can't have an object that is both a client stub for a remote RMI object and a RemoteContainer (no multiple inheritance in Java). So we implemented this delegating scheme where:
RMIRemoteContainer
,
Serialized FormField Summary | |
protected RMIRemoteContainerInterf |
delegate
The RMI stub where the job is to be delegated. |
Fields inherited from class org.objectweb.jac.core.dist.RemoteContainer |
name, verbose |
Constructor Summary | |
RMIRemoteContainerStub(RMIRemoteContainerInterf delegate,
String name)
Create a new remote container stub. |
Method Summary | |
RemoteRef |
bindTo(String name)
Returns a remote reference on the object corresponding to the given name. |
void |
copy(String name,
int index,
String[] fields,
byte[] state,
byte[] collaboration)
Copy a state into a base object. |
byte[] |
getByteCodeFor(String className)
Gets the bytecode for the given class by using the current loader. |
int |
instantiates(String name,
String className,
Object[] args,
String[] fields,
byte[] state,
byte[] collaboration)
This method instantiates a className object. |
byte[] |
invoke(int index,
String methodName,
byte[] methodArgs,
byte[] collaboration)
Invoke a method on a base object. |
byte[] |
invokeRoleMethod(int index,
String methodName,
byte[] methodArgs,
byte[] collaboration)
|
Methods inherited from class org.objectweb.jac.core.dist.RemoteContainer |
bindNewContainer, equals, getName, isLocal, isLocal, launchRemoteGUI, resolve, setName, toString |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected RMIRemoteContainerInterf delegate
Constructor Detail |
public RMIRemoteContainerStub(RMIRemoteContainerInterf delegate, String name)
delegate
- the stub where the job is to be delegatedname
- the name of the remote containerMethod Detail |
public int instantiates(String name, String className, Object[] args, String[] fields, byte[] state, byte[] collaboration)
instantiates
in class RemoteContainer
className
- the class name to instantiateargs
- initialization arguments for the instantiationfields
- the object fields that are part of the statestate
- the state to copycollaboration
- the collaboration of the clientname
- the name of the object
ACManager.whenRemoteInstantiation(Wrappee,String)
public void copy(String name, int index, String[] fields, byte[] state, byte[] collaboration)
copy
in class RemoteContainer
index
- the callee index (see org.objectweb.jac.core.JacObject)fields
- the object fields that are part of the statestate
- the state to copycollaboration
- the collaboration of the clientpublic byte[] invoke(int index, String methodName, byte[] methodArgs, byte[] collaboration)
invoke
in class RemoteContainer
index
- the callee index (see org.objectweb.jac.core.JacObject)methodName
- the callee method namemethodArgs
- the callee method argumentscollaboration
- the collaboration coming from the calling host
public byte[] invokeRoleMethod(int index, String methodName, byte[] methodArgs, byte[] collaboration)
invokeRoleMethod
in class RemoteContainer
public byte[] getByteCodeFor(String className)
RemoteContainer
This method is used by distributed loaders to fetch classes bytecodes from JAC remote containers that are classes repositories.
getByteCodeFor
in class RemoteContainer
className
- the class name
public RemoteRef bindTo(String name)
bindTo
in class RemoteContainer
name
- the name of the object to bind to
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |