SATSA - JSR177

javax.microedition.jcrmi
Interface RemoteRef


public interface RemoteRef

The interface RemoteRef represents the handle for a remote object. Each stub contains an instance of RemoteRef. RemoteRef contains the concrete representation of a reference. This remote reference is used to carry out remote calls on the remote object for which it is a reference.


Method Summary
 Object invoke(String method, Object[] params)
          Invokes a remote method.
 boolean remoteEquals(RemoteRef obj)
          Compares two remote references.
 int remoteHashCode()
          Returns a hashcode for a remote object.
 

Method Detail

invoke

public Object invoke(String method,
                     Object[] params)
              throws Exception
Invokes a remote method.

A remote method invocation consists of three steps:

  1. Marshall the representation for the method and parameters.
  2. Communicate the method invocation to the host and unmarshall the return value or exception returned.
  3. Return the result of the method invocation to the caller.
The remote method invoked on the card can throw an exception to signal that an unexpected condition has been detected.

If the exception thrown on the card is an exception defined in the Java Card 2.2 API, then the same exception is thrown to the stub method. The client can access the reason code associated with Java Card-specific exceptions using the standard getReason() method.

If the exception thrown on the card is a subclass of an exception defined in the Java Card 2.2 API, then the closest exception defined in the API (along with the reason code, if applicable) is thrown to the stub method. The detail message string of the exception object may indicate that exception subclass was thrown on the card.

Apart from the exceptions thrown by the remote method itself, errors during communication, marshalling, protocol handling, unmarshalling, stub object instantiation, and so on, related to the JCRMI method invocation, results in a RemoteException being thrown to the stub method.

Parameters:
method - simple (not fully qualified) name of the method followed by the method descriptor. Representation of a method descriptor is the same as that described in The Java Virtual Machine Specification (section 4.3.3)
params - the parameter list
Returns:
result of remote method invocation
Throws:
Exception - if any exception occurs during the remote method invocation

remoteEquals

public boolean remoteEquals(RemoteRef obj)
Compares two remote references. Two remote references are equal if they refer to the same remote object.

Parameters:
obj - the Object to compare with
Returns:
true if these Objects are equal; false otherwise

remoteHashCode

public int remoteHashCode()
Returns a hashcode for a remote object. Two remote object stubs that refer to the same remote object will have the same hash code.

Returns:
the remote object hashcode

SATSA - JSR177

Submit a comment or suggestion Version 1.0 of SATSA Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. Copyright 1993-2004 Sun Microsystems, Inc. 901 San Antonio Road,Palo Alto, California, 94303, U.S.A. All Rights Reserved.