EclipseLink 2.3.2, build 'v20111125-r10461' API Reference

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

Constructor Detail

RMIRemoteSessionControllerDispatcher

public RMIRemoteSessionControllerDispatcher(org.eclipse.persistence.internal.sessions.AbstractSession session)
                                     throws java.rmi.RemoteException
Throws:
java.rmi.RemoteException

RMIRemoteSessionControllerDispatcher

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

processCommand

public org.eclipse.persistence.internal.sessions.remote.Transporter processCommand(org.eclipse.persistence.internal.sessions.remote.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 org.eclipse.persistence.internal.sessions.remote.Transporter beginTransaction()
Begin a transaction on the database.

Specified by:
beginTransaction in interface RMIRemoteSessionController

commitRootUnitOfWork

public org.eclipse.persistence.internal.sessions.remote.Transporter commitRootUnitOfWork(org.eclipse.persistence.internal.sessions.remote.Transporter remoteUnitOfWork)
Remote unit of work after serialization is commited locally.

Specified by:
commitRootUnitOfWork in interface RMIRemoteSessionController

commitTransaction

public org.eclipse.persistence.internal.sessions.remote.Transporter commitTransaction()
Commit a transaction on the database.

Specified by:
commitTransaction in interface RMIRemoteSessionController

cursoredStreamClose

public org.eclipse.persistence.internal.sessions.remote.Transporter cursoredStreamClose(org.eclipse.persistence.internal.sessions.remote.Transporter remoteCursoredStreamID)
Used for closing cursored streams across RMI.

Specified by:
cursoredStreamClose in interface RMIRemoteSessionController

cursoredStreamNextPage

public org.eclipse.persistence.internal.sessions.remote.Transporter cursoredStreamNextPage(org.eclipse.persistence.internal.sessions.remote.Transporter remoteCursoredStream,
                                                                                           int pageSize)
Retrieve next page size of objects from the remote cursored stream

Specified by:
cursoredStreamNextPage in interface RMIRemoteSessionController

cursoredStreamSize

public org.eclipse.persistence.internal.sessions.remote.Transporter cursoredStreamSize(org.eclipse.persistence.internal.sessions.remote.Transporter remoteCursoredStreamOid)
Return the cursored stream size

Specified by:
cursoredStreamSize in interface RMIRemoteSessionController

cursorSelectObjects

public org.eclipse.persistence.internal.sessions.remote.Transporter cursorSelectObjects(org.eclipse.persistence.internal.sessions.remote.Transporter remoteTransporter)
Returns a remote cursor stub in a transporter

Specified by:
cursorSelectObjects in interface RMIRemoteSessionController

executeNamedQuery

public org.eclipse.persistence.internal.sessions.remote.Transporter executeNamedQuery(org.eclipse.persistence.internal.sessions.remote.Transporter nameTransporter,
                                                                                      org.eclipse.persistence.internal.sessions.remote.Transporter classTransporter,
                                                                                      org.eclipse.persistence.internal.sessions.remote.Transporter argumentsTransporter)
A remote query after serialization is executed locally.

Specified by:
executeNamedQuery in interface RMIRemoteSessionController

executeQuery

public org.eclipse.persistence.internal.sessions.remote.Transporter executeQuery(org.eclipse.persistence.internal.sessions.remote.Transporter query)
A remote query after serialization is executed locally.

Specified by:
executeQuery in interface RMIRemoteSessionController

getController

protected org.eclipse.persistence.internal.sessions.remote.RemoteSessionController getController()
Return the controller. All work is dispatched to the controller. This is required to be protocol independent.


getDescriptor

public org.eclipse.persistence.internal.sessions.remote.Transporter getDescriptor(org.eclipse.persistence.internal.sessions.remote.Transporter theClass)
Extract descriptor from the session

Specified by:
getDescriptor in interface RMIRemoteSessionController

getDefaultReadOnlyClasses

public org.eclipse.persistence.internal.sessions.remote.Transporter getDefaultReadOnlyClasses()
Get the default read-only classes

Specified by:
getDefaultReadOnlyClasses in interface RMIRemoteSessionController

getLogin

public org.eclipse.persistence.internal.sessions.remote.Transporter getLogin()
Get the associated session login.

Specified by:
getLogin in interface RMIRemoteSessionController

getSequenceNumberNamed

public org.eclipse.persistence.internal.sessions.remote.Transporter getSequenceNumberNamed(org.eclipse.persistence.internal.sessions.remote.Transporter remoteFunctionCall)
INTERNAL: Get the value returned by remote function call

Specified by:
getSequenceNumberNamed in interface RMIRemoteSessionController

initializeIdentityMapsOnServerSession

public org.eclipse.persistence.internal.sessions.remote.Transporter initializeIdentityMapsOnServerSession()
Specified by:
initializeIdentityMapsOnServerSession in interface RMIRemoteSessionController

instantiateRemoteValueHolderOnServer

public org.eclipse.persistence.internal.sessions.remote.Transporter instantiateRemoteValueHolderOnServer(org.eclipse.persistence.internal.sessions.remote.Transporter remoteValueHolder)
The corresponding original value holder is instantiated.

Specified by:
instantiateRemoteValueHolderOnServer in interface RMIRemoteSessionController

rollbackTransaction

public org.eclipse.persistence.internal.sessions.remote.Transporter rollbackTransaction()
Rollback a transaction on the database.

Specified by:
rollbackTransaction in interface RMIRemoteSessionController

scrollableCursorAbsolute

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorAbsolute(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursorOid,
                                                                                             int rows)
Moves the cursor to the given row number in the result set

Specified by:
scrollableCursorAbsolute in interface RMIRemoteSessionController

scrollableCursorAfterLast

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorAfterLast(org.eclipse.persistence.internal.sessions.remote.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 org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorBeforeFirst(org.eclipse.persistence.internal.sessions.remote.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 org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorClose(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursorOid)
Used for closing scrollable cursor across RMI.

Specified by:
scrollableCursorClose in interface RMIRemoteSessionController

scrollableCursorCurrentIndex

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorCurrentIndex(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Retrieves the current row index number

Specified by:
scrollableCursorCurrentIndex in interface RMIRemoteSessionController

scrollableCursorFirst

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorFirst(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Moves the cursor to the first row in the result set

Specified by:
scrollableCursorFirst in interface RMIRemoteSessionController

scrollableCursorIsAfterLast

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorIsAfterLast(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Indicates whether the cursor is after the last row in the result set.

Specified by:
scrollableCursorIsAfterLast in interface RMIRemoteSessionController

scrollableCursorIsBeforeFirst

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorIsBeforeFirst(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Indicates whether the cursor is before the first row in the result set.

Specified by:
scrollableCursorIsBeforeFirst in interface RMIRemoteSessionController

scrollableCursorIsFirst

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorIsFirst(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Indicates whether the cursor is on the first row of the result set.

Specified by:
scrollableCursorIsFirst in interface RMIRemoteSessionController

scrollableCursorIsLast

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorIsLast(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Indicates whether the cursor is on the last row of the result set.

Specified by:
scrollableCursorIsLast in interface RMIRemoteSessionController

scrollableCursorLast

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorLast(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor)
Moves the cursor to the last row in the result set

Specified by:
scrollableCursorLast in interface RMIRemoteSessionController

scrollableCursorNextObject

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorNextObject(org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorOid)
Retrieve next object from the scrollable cursor

Specified by:
scrollableCursorNextObject in interface RMIRemoteSessionController

scrollableCursorPreviousObject

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorPreviousObject(org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorOid)
Retrieve previous object from the scrollable cursor

Specified by:
scrollableCursorPreviousObject in interface RMIRemoteSessionController

scrollableCursorRelative

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorRelative(org.eclipse.persistence.internal.sessions.remote.Transporter remoteScrollableCursor,
                                                                                             int rows)
Moves the cursor to the given row number in the result set

Specified by:
scrollableCursorRelative in interface RMIRemoteSessionController

scrollableCursorSize

public org.eclipse.persistence.internal.sessions.remote.Transporter scrollableCursorSize(org.eclipse.persistence.internal.sessions.remote.Transporter remoteCursorOid)
Return the cursor size

Specified by:
scrollableCursorSize in interface RMIRemoteSessionController

setController

protected void setController(org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller)
Set the controller. All work is dispatched to the controller. This is required to be protocol independent.


EclipseLink 2.3.2, build 'v20111125-r10461' API Reference