Class RMIRemoteSessionControllerDispatcher

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.eclipse.persistence.internal.sessions.remote.RemoteSessionController controller
      Store the real controller.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.eclipse.persistence.internal.sessions.remote.Transporter beginEarlyTransaction()
      Begin an early unit of work transaction.
      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 committed 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 getDescriptorForAlias​(org.eclipse.persistence.internal.sessions.remote.Transporter alias)
      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.
    • 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 RemoteException
        Throws:
        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:
        remoteTransporter - The Transporter carrying 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
      • beginEarlyTransaction

        public org.eclipse.persistence.internal.sessions.remote.Transporter beginEarlyTransaction()
        Begin an early unit of work transaction.
        Specified by:
        beginEarlyTransaction 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 committed 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
      • getDescriptorForAlias

        public org.eclipse.persistence.internal.sessions.remote.Transporter getDescriptorForAlias​(org.eclipse.persistence.internal.sessions.remote.Transporter alias)
        Extract descriptor from the session
        Specified by:
        getDescriptorForAlias 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
      • 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.