public class RefImpl extends Object implements JRMIOptRef
Jeremie reference
to a
remote object.
A Jeremie reference contains:
identifiers
;
marshaller factory
;
session identifier
;
session high object
for sending messages down the protocol stack;
Modifier and Type | Field and Description |
---|---|
protected org.objectweb.jonathan.protocols.api.SessionIdentifier |
ep
The session identifier associated with this reference.
|
protected org.objectweb.jonathan.binding.api.Identifier[] |
ids
The set of identifiers held by this reference.
|
protected org.objectweb.jonathan.presentation.api.MarshallerFactory |
mfactory
The marshaller factory associated with this reference.
|
protected org.objectweb.jonathan.protocols.api.Session_High |
session
The protocol session high object associated with this reference.
|
packagePrefix, serialVersionUID
Modifier | Constructor and Description |
---|---|
|
RefImpl() |
protected |
RefImpl(org.objectweb.jonathan.binding.api.Identifier[] ids,
org.objectweb.jonathan.presentation.api.MarshallerFactory mfactory)
Creates a Jeremie reference containing the given object identifiers
and marshaller factory.
|
protected |
RefImpl(org.objectweb.jonathan.protocols.api.SessionIdentifier ep,
org.objectweb.jonathan.binding.api.Identifier[] ids,
org.objectweb.jonathan.presentation.api.MarshallerFactory mfactory)
Creates a Jeremie reference containing the given session identifier,
object identifiers and marshaller factory.
|
Modifier and Type | Method and Description |
---|---|
void |
done(RemoteCall call)
Deprecated.
|
protected void |
finalize() |
org.objectweb.jonathan.binding.api.Identifier[] |
getIdentifiers()
Returns the identifiers contained in this reference.
|
String |
getRefClass(ObjectOutput out)
Not used; left for compatibility with
RemoteRef |
void |
invoke(org.objectweb.jonathan.presentation.api.Marshaller marshaller)
Sends the marshaller with the invocation data down the protocol stack.
|
void |
invoke(RemoteCall call)
Deprecated.
|
Object |
invoke(Remote obj,
Method method,
Object[] params,
long opnum)
Carries out a remote method invocation and either returns the result
of the invocation is successful, otherwise an exception.
|
RemoteCall |
newCall(RemoteObject obj,
Operation[] op,
int opnum,
long hash)
Deprecated.
|
org.objectweb.jonathan.protocols.api.ReplyInterface |
prepareInvocation(org.objectweb.jonathan.presentation.api.Marshaller marshaller)
Prepares the marshaller prior to marshalling invocation data.
|
void |
readExternal(ObjectInput stream)
Reads an external representation of this reference from an underlying
object input stream.
|
boolean |
remoteEquals(RemoteRef obj)
Tests for object equality (==) of this reference with the given reference.
|
int |
remoteHashCode()
Returns a hashcode for this reference.
|
String |
remoteToString()
Provides a string representation of this reference.
|
org.objectweb.jonathan.presentation.api.Marshaller |
request()
Obtains a marshaller for marshalling invocation data.
|
void |
setIdentifiers(org.objectweb.jonathan.binding.api.Identifier[] ids)
Sets the identifiers contained in this reference to the given identifiers.
|
String |
toString() |
void |
writeExternal(ObjectOutput stream)
Writes an external representation of this reference to an underlying
object output stream.
|
protected transient org.objectweb.jonathan.binding.api.Identifier[] ids
protected transient org.objectweb.jonathan.presentation.api.MarshallerFactory mfactory
protected transient org.objectweb.jonathan.protocols.api.SessionIdentifier ep
protected transient org.objectweb.jonathan.protocols.api.Session_High session
public RefImpl()
protected RefImpl(org.objectweb.jonathan.binding.api.Identifier[] ids, org.objectweb.jonathan.presentation.api.MarshallerFactory mfactory)
ids
- a set of object identifiers;mfactory
- a marshaller factory.protected RefImpl(org.objectweb.jonathan.protocols.api.SessionIdentifier ep, org.objectweb.jonathan.binding.api.Identifier[] ids, org.objectweb.jonathan.presentation.api.MarshallerFactory mfactory)
ep
- a session identifier;ids
- a set of object identifiers;mfactory
- a marshaller factory.public void setIdentifiers(org.objectweb.jonathan.binding.api.Identifier[] ids)
setIdentifiers
in interface org.objectweb.jonathan.binding.api.Reference
ids
- a set of identifiers.public org.objectweb.jonathan.binding.api.Identifier[] getIdentifiers()
getIdentifiers
in interface org.objectweb.jonathan.binding.api.Reference
public Object invoke(Remote obj, Method method, Object[] params, long opnum) throws Exception
invoke
in interface RemoteRef
obj
- ignored; left for compatibility with RemoteRef
;method
- the remote method to be invoked;params
- arguments to the invocation of the remote method;opnum
- ignored; left for compatibility with RemoteRef
.Exception
- any exception thrown either by the remote method
invocation, or if something goes wrong (network error, etc.).public String getRefClass(ObjectOutput out)
RemoteRef
getRefClass
in interface RemoteRef
public int remoteHashCode()
remoteHashCode
in interface RemoteRef
public boolean remoteEquals(RemoteRef obj)
remoteEquals
in interface RemoteRef
obj
- the remote reference to be compared with.public String remoteToString()
remoteToString
in interface RemoteRef
public org.objectweb.jonathan.presentation.api.Marshaller request() throws MarshalException
request
in interface JRMIOptRef
MarshalException
- if something goes wrong.public org.objectweb.jonathan.protocols.api.ReplyInterface prepareInvocation(org.objectweb.jonathan.presentation.api.Marshaller marshaller) throws MarshalException
prepareInvocation
in interface JRMIOptRef
marshaller
- a marshaller to be used for the invocation data;MarshalException
- if something goes wrong.public void invoke(org.objectweb.jonathan.presentation.api.Marshaller marshaller) throws MarshalException
invoke
in interface JRMIOptRef
marshaller
- a marshaller with the invocation data;MarshalException
- if something goes wrong.public void writeExternal(ObjectOutput stream) throws IOException
writeExternal
in interface Externalizable
stream
- the underlying object output stream.java.io.Exception
- if something goes wrong.IOException
public void readExternal(ObjectInput stream) throws ClassNotFoundException, IOException
readExternal
in interface Externalizable
stream
- the underlying object input stream.ClassNotFoundException
- if an object in the stream can not be
read because its class can not be found;java.io.Exception
- if something else goes wrong.IOException
public RemoteCall newCall(RemoteObject obj, Operation[] op, int opnum, long hash)
public void invoke(RemoteCall call)
public void done(RemoteCall call)