EclipseLink 1.0_1.0M2 API Reference - Incubation

org.eclipse.persistence.sessions.remote.rmi.iiop
Class RMIRemoteSessionControllerDispatcher

java.lang.Object
  extended by javax.rmi.PortableRemoteObject
      extended by org.eclipse.persistence.sessions.remote.rmi.iiop.RMIRemoteSessionControllerDispatcher
All Implemented Interfaces:
java.rmi.Remote, RMIRemoteSessionController

public class RMIRemoteSessionControllerDispatcher
extends javax.rmi.PortableRemoteObject
implements RMIRemoteSessionController

RemoteSessionController sits between the remote session and the session. Any interaction between these two classes takes place through this object. As the object extends unicast remote object it listens to only single remote session during runtime.


Field Summary
protected  RemoteSessionController controller
          Store the real controller.
 
Constructor Summary
RMIRemoteSessionControllerDispatcher(AbstractSession session)
           
 
Method Summary
 Transporter beginTransaction()
          Begin a transaction on the database.
 Transporter commitRootUnitOfWork(Transporter remoteUnitOfWork)
          Remote unit of work after serialization is commited locally.
 Transporter commitTransaction()
          Commit a transaction on the database.
 Transporter cursoredStreamClose(Transporter remoteCursoredStreamID)
          Used for closing cursored streams across RMI.
 Transporter cursoredStreamNextPage(Transporter remoteCursoredStream, int pageSize)
          Retrieve next page size of objects from the remote cursored stream
 Transporter cursoredStreamSize(Transporter remoteCursoredStreamOid)
          Return the cursored stream size
 Transporter cursorSelectObjects(Transporter remoteTransporter)
          Returns a remote cursor stub in a transporter
 Transporter executeNamedQuery(Transporter nameTransporter, Transporter classTransporter, Transporter argumentsTransporter)
          A remote query after serialization is executed locally.
 Transporter executeQuery(Transporter query)
          A remote query after serialization is executed locally.
protected  RemoteSessionController getController()
          Return the controller.
 Transporter getDefaultReadOnlyClasses()
          Get the default read-only classes
 Transporter getDescriptor(Transporter theClass)
          Extract descriptor from the session
 Transporter getLogin()
          Get the associated session login.
 Transporter getSequenceNumberNamed(Transporter remoteFunctionCall)
          INTERNAL: Get the value returned by remote function call
 Transporter initializeIdentityMapsOnServerSession()
           
 Transporter instantiateRemoteValueHolderOnServer(Transporter remoteValueHolder)
          The corresponding original value holder is instantiated.
 Transporter processCommand(Transporter remoteTransporter)
          INTERNAL: This method is intended to be used by by sessions that wish to execute a command on a remote session
 Transporter rollbackTransaction()
          Rollback a transaction on the database.
 Transporter scrollableCursorAbsolute(Transporter remoteScrollableCursorOid, int rows)
          Moves the cursor to the given row number in the result set
 Transporter scrollableCursorAfterLast(Transporter remoteScrollableCursorOid)
          Moves the cursor to the end of the result set, just after the last row.
 Transporter scrollableCursorBeforeFirst(Transporter remoteScrollableCursor)
          Moves the cursor to the front of the result set, just before the first row
 Transporter scrollableCursorClose(Transporter remoteScrollableCursorOid)
          Used for closing scrollable cursor across RMI.
 Transporter scrollableCursorCurrentIndex(Transporter remoteScrollableCursor)
          Retrieves the current row index number
 Transporter scrollableCursorFirst(Transporter remoteScrollableCursor)
          Moves the cursor to the first row in the result set
 Transporter scrollableCursorIsAfterLast(Transporter remoteScrollableCursor)
          Indicates whether the cursor is after the last row in the result set.
 Transporter scrollableCursorIsBeforeFirst(Transporter remoteScrollableCursor)
          Indicates whether the cursor is before the first row in the result set.
 Transporter scrollableCursorIsFirst(Transporter remoteScrollableCursor)
          Indicates whether the cursor is on the first row of the result set.
 Transporter scrollableCursorIsLast(Transporter remoteScrollableCursor)
          Indicates whether the cursor is on the last row of the result set.
 Transporter scrollableCursorLast(Transporter remoteScrollableCursor)
          Moves the cursor to the last row in the result set
 Transporter scrollableCursorNextObject(Transporter scrollableCursorOid)
          Retrieve next object from the scrollable cursor
 Transporter scrollableCursorPreviousObject(Transporter scrollableCursorOid)
          Retrieve previous object from the scrollable cursor
 Transporter scrollableCursorRelative(Transporter remoteScrollableCursor, int rows)
          Moves the cursor to the given row number in the result set
 Transporter scrollableCursorSize(Transporter remoteCursorOid)
          Return the cursor size
protected  void setController(RemoteSessionController controller)
          Set the controller.
 
Methods inherited from class javax.rmi.PortableRemoteObject
connect, exportObject, narrow, toStub, unexportObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

controller

protected RemoteSessionController controller
Store the real controller.

Constructor Detail

RMIRemoteSessionControllerDispatcher

public RMIRemoteSessionControllerDispatcher(AbstractSession session)
                                     throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException
Method Detail

processCommand

public Transporter processCommand(Transporter remoteTransporter)
INTERNAL: This method is intended to be used by by sessions that wish to execute a command on a remote session

Specified by:
processCommand in interface RMIRemoteSessionController
Parameters:
remoteCommand - RemoteCommand The command to be executed on the remote session

beginTransaction

public Transporter beginTransaction()
Begin a transaction on the database.

Specified by:
beginTransaction in interface RMIRemoteSessionController

commitRootUnitOfWork

public Transporter commitRootUnitOfWork(Transporter remoteUnitOfWork)
Remote unit of work after serialization is commited locally.

Specified by:
commitRootUnitOfWork in interface RMIRemoteSessionController

commitTransaction

public Transporter commitTransaction()
Commit a transaction on the database.

Specified by:
commitTransaction in interface RMIRemoteSessionController

cursoredStreamClose

public Transporter cursoredStreamClose(Transporter remoteCursoredStreamID)
Used for closing cursored streams across RMI.

Specified by:
cursoredStreamClose in interface RMIRemoteSessionController

cursoredStreamNextPage

public Transporter cursoredStreamNextPage(Transporter remoteCursoredStream,
                                          int pageSize)
Retrieve next page size of objects from the remote cursored stream

Specified by:
cursoredStreamNextPage in interface RMIRemoteSessionController

cursoredStreamSize

public Transporter cursoredStreamSize(Transporter remoteCursoredStreamOid)
Return the cursored stream size

Specified by:
cursoredStreamSize in interface RMIRemoteSessionController

cursorSelectObjects

public Transporter cursorSelectObjects(Transporter remoteTransporter)
Returns a remote cursor stub in a transporter

Specified by:
cursorSelectObjects in interface RMIRemoteSessionController

executeNamedQuery

public Transporter executeNamedQuery(Transporter nameTransporter,
                                     Transporter classTransporter,
                                     Transporter argumentsTransporter)
A remote query after serialization is executed locally.

Specified by:
executeNamedQuery in interface RMIRemoteSessionController

executeQuery

public Transporter executeQuery(Transporter query)
A remote query after serialization is executed locally.

Specified by:
executeQuery in interface RMIRemoteSessionController

getController

protected RemoteSessionController getController()
Return the controller. All work is dispatched to the controller. This is required to be protocol independent.


getDescriptor

public Transporter getDescriptor(Transporter theClass)
Extract descriptor from the session

Specified by:
getDescriptor in interface RMIRemoteSessionController

getDefaultReadOnlyClasses

public Transporter getDefaultReadOnlyClasses()
Get the default read-only classes

Specified by:
getDefaultReadOnlyClasses in interface RMIRemoteSessionController

getLogin

public Transporter getLogin()
Get the associated session login.

Specified by:
getLogin in interface RMIRemoteSessionController

getSequenceNumberNamed

public Transporter getSequenceNumberNamed(Transporter remoteFunctionCall)
INTERNAL: Get the value returned by remote function call

Specified by:
getSequenceNumberNamed in interface RMIRemoteSessionController

initializeIdentityMapsOnServerSession

public Transporter initializeIdentityMapsOnServerSession()
Specified by:
initializeIdentityMapsOnServerSession in interface RMIRemoteSessionController

instantiateRemoteValueHolderOnServer

public Transporter instantiateRemoteValueHolderOnServer(Transporter remoteValueHolder)
The corresponding original value holder is instantiated.

Specified by:
instantiateRemoteValueHolderOnServer in interface RMIRemoteSessionController

rollbackTransaction

public Transporter rollbackTransaction()
Rollback a transaction on the database.

Specified by:
rollbackTransaction in interface RMIRemoteSessionController

scrollableCursorAbsolute

public Transporter scrollableCursorAbsolute(Transporter remoteScrollableCursorOid,
                                            int rows)
Moves the cursor to the given row number in the result set

Specified by:
scrollableCursorAbsolute in interface RMIRemoteSessionController

scrollableCursorAfterLast

public Transporter scrollableCursorAfterLast(Transporter remoteScrollableCursorOid)
Moves the cursor to the end of the result set, just after the last row.

Specified by:
scrollableCursorAfterLast in interface RMIRemoteSessionController

scrollableCursorBeforeFirst

public Transporter scrollableCursorBeforeFirst(Transporter remoteScrollableCursor)
Moves the cursor to the front of the result set, just before the first row

Specified by:
scrollableCursorBeforeFirst in interface RMIRemoteSessionController

scrollableCursorClose

public Transporter scrollableCursorClose(Transporter remoteScrollableCursorOid)
Used for closing scrollable cursor across RMI.

Specified by:
scrollableCursorClose in interface RMIRemoteSessionController

scrollableCursorCurrentIndex

public Transporter scrollableCursorCurrentIndex(Transporter remoteScrollableCursor)
Retrieves the current row index number

Specified by:
scrollableCursorCurrentIndex in interface RMIRemoteSessionController

scrollableCursorFirst

public Transporter scrollableCursorFirst(Transporter remoteScrollableCursor)
Moves the cursor to the first row in the result set

Specified by:
scrollableCursorFirst in interface RMIRemoteSessionController

scrollableCursorIsAfterLast

public Transporter scrollableCursorIsAfterLast(Transporter remoteScrollableCursor)
Indicates whether the cursor is after the last row in the result set.

Specified by:
scrollableCursorIsAfterLast in interface RMIRemoteSessionController

scrollableCursorIsBeforeFirst

public Transporter scrollableCursorIsBeforeFirst(Transporter remoteScrollableCursor)
Indicates whether the cursor is before the first row in the result set.

Specified by:
scrollableCursorIsBeforeFirst in interface RMIRemoteSessionController

scrollableCursorIsFirst

public Transporter scrollableCursorIsFirst(Transporter remoteScrollableCursor)
Indicates whether the cursor is on the first row of the result set.

Specified by:
scrollableCursorIsFirst in interface RMIRemoteSessionController

scrollableCursorIsLast

public Transporter scrollableCursorIsLast(Transporter remoteScrollableCursor)
Indicates whether the cursor is on the last row of the result set.

Specified by:
scrollableCursorIsLast in interface RMIRemoteSessionController

scrollableCursorLast

public Transporter scrollableCursorLast(Transporter remoteScrollableCursor)
Moves the cursor to the last row in the result set

Specified by:
scrollableCursorLast in interface RMIRemoteSessionController

scrollableCursorNextObject

public Transporter scrollableCursorNextObject(Transporter scrollableCursorOid)
Retrieve next object from the scrollable cursor

Specified by:
scrollableCursorNextObject in interface RMIRemoteSessionController

scrollableCursorPreviousObject

public Transporter scrollableCursorPreviousObject(Transporter scrollableCursorOid)
Retrieve previous object from the scrollable cursor

Specified by:
scrollableCursorPreviousObject in interface RMIRemoteSessionController

scrollableCursorRelative

public Transporter scrollableCursorRelative(Transporter remoteScrollableCursor,
                                            int rows)
Moves the cursor to the given row number in the result set

Specified by:
scrollableCursorRelative in interface RMIRemoteSessionController

scrollableCursorSize

public Transporter scrollableCursorSize(Transporter remoteCursorOid)
Return the cursor size

Specified by:
scrollableCursorSize in interface RMIRemoteSessionController

setController

protected void setController(RemoteSessionController controller)
Set the controller. All work is dispatched to the controller. This is required to be protocol independent.


EclipseLink 1.0_1.0M2 API Reference - Incubation