Class RMIConnection

java.lang.Object
org.eclipse.persistence.internal.sessions.remote.RemoteConnection
org.eclipse.persistence.sessions.remote.rmi.RMIConnection
All Implemented Interfaces:
Serializable

public class RMIConnection extends org.eclipse.persistence.internal.sessions.remote.RemoteConnection
This class exists on on the client side which talks to remote session controller through RMI connection.
See Also:
  • Constructor Details

    • RMIConnection

      public RMIConnection(RMIRemoteSessionController controller)
      PUBLIC: The connection must be create from the server-side session controllers stub. The session in then created from the connection through createRemoteSession().
      See Also:
  • Method Details

    • processCommand

      public void processCommand(org.eclipse.persistence.internal.sessions.remote.RemoteCommand command)
      ADVANCED: This method will send the command to the remote session for processing
      Specified by:
      processCommand in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      Parameters:
      command - Contains a command that will be executed on the remote session
      See Also:
      • RemoteCommand
    • beginTransaction

      public void beginTransaction()
      INTERNAL: Begin a transaction on the database.
      Specified by:
      beginTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • beginEarlyTransaction

      public void beginEarlyTransaction()
      INTERNAL: Begin an early unit of work transaction.
      Specified by:
      beginEarlyTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • commitRootUnitOfWork

      public org.eclipse.persistence.internal.sessions.remote.RemoteUnitOfWork commitRootUnitOfWork(org.eclipse.persistence.internal.sessions.remote.RemoteUnitOfWork theRemoteUnitOfWork)
      INTERNAL: Commit root unit of work from the client side to the server side.
      Specified by:
      commitRootUnitOfWork in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • commitTransaction

      public void commitTransaction()
      INTERNAL: Commit a transaction on the database.
      Specified by:
      commitTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • createRemoteSession

      public Session createRemoteSession()
      PUBLIC: Returns a remote session.
      Specified by:
      createRemoteSession in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • cursoredStreamClose

      public void cursoredStreamClose(ObjID remoteCursoredStreamOid)
      Used for closing cursored streams across RMI.
      Specified by:
      cursoredStreamClose in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • cursoredStreamNextPage

      public Vector cursoredStreamNextPage(org.eclipse.persistence.internal.sessions.remote.RemoteCursoredStream remoteCursoredStream, ReadQuery query, DistributedSession session, int pageSize)
      Retrieve next page size of objects from the remote cursored stream
      Specified by:
      cursoredStreamNextPage in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • cursoredStreamSize

      public int cursoredStreamSize(ObjID remoteCursoredStreamID)
      Return the cursored stream size
      Specified by:
      cursoredStreamSize in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • cursorSelectObjects

      public org.eclipse.persistence.internal.sessions.remote.RemoteCursoredStream cursorSelectObjects(CursoredStreamPolicy policy, DistributedSession session)
      INTERNAL: Returns remote cursor stream
      Specified by:
      cursorSelectObjects in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • cursorSelectObjects

      public org.eclipse.persistence.internal.sessions.remote.RemoteScrollableCursor cursorSelectObjects(ScrollableCursorPolicy policy, DistributedSession session)
      INTERNAL: Returns remote cursor stream
      Specified by:
      cursorSelectObjects in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • getDefaultReadOnlyClasses

      public Vector getDefaultReadOnlyClasses()
      INTERNAL Return the read-only classes
      Specified by:
      getDefaultReadOnlyClasses in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • getDescriptor

      public ClassDescriptor getDescriptor(Class domainClass)
      INTERNAL: Return the table descriptor specified for the class.
      Specified by:
      getDescriptor in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • getDescriptorForAlias

      public ClassDescriptor getDescriptorForAlias(String alias)
      INTERNAL: Return the table descriptor specified for the alias.
      Specified by:
      getDescriptorForAlias in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • getLogin

      public Login getLogin()
      INTERNAL: Return the table descriptor specified for the class.
      Specified by:
      getLogin in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • getRemoteSessionController

      public RMIRemoteSessionController getRemoteSessionController()
      INTERNAL: Return the remote session controller
    • getSequenceNumberNamed

      public Object getSequenceNumberNamed(Object remoteFunctionCall)
      INTERNAL: Perform remote function call
      Specified by:
      getSequenceNumberNamed in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • initializeIdentityMapsOnServerSession

      public void initializeIdentityMapsOnServerSession()
      INTERNAL: Reset the cache on the server-side session.
      Specified by:
      initializeIdentityMapsOnServerSession in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • instantiateRemoteValueHolderOnServer

      public org.eclipse.persistence.internal.sessions.remote.Transporter instantiateRemoteValueHolderOnServer(org.eclipse.persistence.internal.sessions.remote.RemoteValueHolder remoteValueHolder)
      INTERNAL: Instantiate remote value holder on the server
      Specified by:
      instantiateRemoteValueHolderOnServer in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • remoteExecute

      public org.eclipse.persistence.internal.sessions.remote.Transporter remoteExecute(DatabaseQuery query)
      INTERNAL: Execute the query on the server.
      Specified by:
      remoteExecute in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • remoteExecuteNamedQuery

      public org.eclipse.persistence.internal.sessions.remote.Transporter remoteExecuteNamedQuery(String name, Class javaClass, Vector arguments)
      INTERNAL: Execute query remotely.
      Specified by:
      remoteExecuteNamedQuery in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • rollbackTransaction

      public void rollbackTransaction()
      INTERNAL: Rollback a transaction on the database.
      Specified by:
      rollbackTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorAbsolute

      public boolean scrollableCursorAbsolute(ObjID remoteScrollableCursorOid, int rows)
      Moves the cursor to the given row number in the result set
      Specified by:
      scrollableCursorAbsolute in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorAfterLast

      public void scrollableCursorAfterLast(ObjID remoteScrollableCursorOid)
      Moves the cursor to the end of the result set, just after the last row.
      Specified by:
      scrollableCursorAfterLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorBeforeFirst

      public void scrollableCursorBeforeFirst(ObjID remoteScrollableCursorOid)
      Moves the cursor to the front of the result set, just before the first row
      Specified by:
      scrollableCursorBeforeFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorClose

      public void scrollableCursorClose(ObjID remoteScrollableCursorOid)
      Used for closing scrollable cursor across RMI.
      Specified by:
      scrollableCursorClose in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorCurrentIndex

      public int scrollableCursorCurrentIndex(ObjID remoteScrollableCursorOid)
      Retrieves the current row index number
      Specified by:
      scrollableCursorCurrentIndex in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorFirst

      public boolean scrollableCursorFirst(ObjID remoteScrollableCursorOid)
      Moves the cursor to the first row in the result set
      Specified by:
      scrollableCursorFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorIsAfterLast

      public boolean scrollableCursorIsAfterLast(ObjID remoteScrollableCursorOid)
      Indicates whether the cursor is after the last row in the result set.
      Specified by:
      scrollableCursorIsAfterLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorIsBeforeFirst

      public boolean scrollableCursorIsBeforeFirst(ObjID remoteScrollableCursorOid)
      Indicates whether the cursor is before the first row in the result set.
      Specified by:
      scrollableCursorIsBeforeFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorIsFirst

      public boolean scrollableCursorIsFirst(ObjID remoteScrollableCursorOid)
      Indicates whether the cursor is on the first row of the result set.
      Specified by:
      scrollableCursorIsFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorIsLast

      public boolean scrollableCursorIsLast(ObjID remoteScrollableCursorOid)
      Indicates whether the cursor is on the last row of the result set.
      Specified by:
      scrollableCursorIsLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorLast

      public boolean scrollableCursorLast(ObjID remoteScrollableCursorOid)
      Moves the cursor to the last row in the result set
      Specified by:
      scrollableCursorLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorNextObject

      public Object scrollableCursorNextObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)
      Retrieve next object from the remote scrollable cursor
      Specified by:
      scrollableCursorNextObject in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorPreviousObject

      public Object scrollableCursorPreviousObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)
      Retrieve previous object from the remote scrollable cursor
      Specified by:
      scrollableCursorPreviousObject in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorRelative

      public boolean scrollableCursorRelative(ObjID remoteScrollableCursorOid, int rows)
      Moves the cursor to the given row number in the result set
      Specified by:
      scrollableCursorRelative in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • scrollableCursorSize

      public int scrollableCursorSize(ObjID cursorId)
      Return the scrollable cursor size
      Specified by:
      scrollableCursorSize in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    • setRemoteSessionController

      public void setRemoteSessionController(RMIRemoteSessionController remoteSessionController)
      INTERNAL: Set remote session controller