Top Description Fields Constructors Methods
org.eclipse.persistence.sessions.remote.rmi

public Class RMIConnection

extends RemoteConnection
Class Inheritance
Imports
java.rmi.RemoteException, java.rmi.server.ObjID, java.util.Enumeration, .IdentityHashMap, .Vector, org.eclipse.persistence.descriptors.ClassDescriptor, org.eclipse.persistence.exceptions.CommunicationException, org.eclipse.persistence.internal.sessions.remote.RemoteCommand, .RemoteConnection, .RemoteCursoredStream, .RemoteScrollableCursor, .RemoteUnitOfWork, .RemoteValueHolder, .Transporter, org.eclipse.persistence.queries.CursoredStreamPolicy, .DatabaseQuery, .ObjectLevelReadQuery, .ReadQuery, .ScrollableCursorPolicy, org.eclipse.persistence.sessions.Login, org.eclipse.persistence.sessions.remote.DistributedSession, .RemoteSession

This class exists on on the client side which talks to remote session controller through RMI connection.

Field Summary

Modifier and TypeField and Description
pack-priv RMIRemoteSessionController
Inherited from org.eclipse.persistence.internal.sessions.remote.RemoteConnection:
serviceNamesession

Constructor Summary

AccessConstructor and Description
public
RMIConnection(RMIRemoteSessionController controller)

PUBLIC: The connection must be create from the server-side session controllers stub.

Method Summary

Modifier and TypeMethod and Description
public void
beginEarlyTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.beginEarlyTransaction.

INTERNAL: Begin an early unit of work transaction.
public void
beginTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.beginTransaction.

INTERNAL: Begin a transaction on the database.
public RemoteUnitOfWork
commitRootUnitOfWork(RemoteUnitOfWork theRemoteUnitOfWork)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.commitRootUnitOfWork.

INTERNAL: Commit root unit of work from the client side to the server side.
public void
commitTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.commitTransaction.

INTERNAL: Commit a transaction on the database.
public Session
public void
cursoredStreamClose(ObjID remoteCursoredStreamOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamClose.

Used for closing cursored streams across RMI.
public Vector<E>
cursoredStreamNextPage(RemoteCursoredStream remoteCursoredStream, ReadQuery query, DistributedSession session, int pageSize)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamNextPage.

Retrieve next page size of objects from the remote cursored stream
public int
cursoredStreamSize(ObjID remoteCursoredStreamID)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamSize.

Return the cursored stream size
public RemoteCursoredStream
public RemoteScrollableCursor
public Vector<E>
public ClassDescriptor
getDescriptor(Class<?> domainClass)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getDescriptor.

INTERNAL: Return the table descriptor specified for the class.
public ClassDescriptor
getDescriptorForAlias(String alias)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getDescriptorForAlias.

INTERNAL: Return the table descriptor specified for the alias.
public Login
getLogin()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getLogin.

INTERNAL: Return the table descriptor specified for the class.
public RMIRemoteSessionController
getRemoteSessionController()

INTERNAL: Return the remote session controller

public Object
getSequenceNumberNamed(Object remoteFunctionCall)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getSequenceNumberNamed.

INTERNAL: Perform remote function call
public void
public Transporter
public void
processCommand(RemoteCommand
Contains a command that will be executed on the remote session
command
)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.processCommand.

ADVANCED: This method will send the command to the remote session for processing
public Transporter
remoteExecute(DatabaseQuery query)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.remoteExecute.

INTERNAL: Execute the query on the server.
public Transporter
remoteExecuteNamedQuery(String name, Class<?> javaClass, Vector<E> arguments)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.remoteExecuteNamedQuery.

INTERNAL: Execute query remotely.
public void
rollbackTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.rollbackTransaction.

INTERNAL: Rollback a transaction on the database.
public boolean
scrollableCursorAbsolute(ObjID remoteScrollableCursorOid, int rows)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorAbsolute.

Moves the cursor to the given row number in the result set
public void
scrollableCursorAfterLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorAfterLast.

Moves the cursor to the end of the result set, just after the last row.
public void
scrollableCursorBeforeFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorBeforeFirst.

Moves the cursor to the front of the result set, just before the first row
public void
scrollableCursorClose(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorClose.

Used for closing scrollable cursor across RMI.
public int
scrollableCursorCurrentIndex(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorCurrentIndex.

Retrieves the current row index number
public boolean
scrollableCursorFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorFirst.

Moves the cursor to the first row in the result set
public boolean
scrollableCursorIsAfterLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsAfterLast.

Indicates whether the cursor is after the last row in the result set.
public boolean
scrollableCursorIsBeforeFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsBeforeFirst.

Indicates whether the cursor is before the first row in the result set.
public boolean
scrollableCursorIsFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsFirst.

Indicates whether the cursor is on the first row of the result set.
public boolean
scrollableCursorIsLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsLast.

Indicates whether the cursor is on the last row of the result set.
public boolean
scrollableCursorLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorLast.

Moves the cursor to the last row in the result set
public Object
scrollableCursorNextObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorNextObject.

Retrieve next object from the remote scrollable cursor
public Object
scrollableCursorPreviousObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorPreviousObject.

Retrieve previous object from the remote scrollable cursor
public boolean
scrollableCursorRelative(ObjID remoteScrollableCursorOid, int rows)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorRelative.

Moves the cursor to the given row number in the result set
public int
public void
setRemoteSessionController(RMIRemoteSessionController remoteSessionController)

INTERNAL: Set remote session controller

Inherited from org.eclipse.persistence.internal.sessions.remote.RemoteConnection:
fixObjectReferencesgetServiceNamegetSessioninitializeisConnectedreleasesetServiceNamesetSession

Field Detail

remoteSessionControllerback to summary
pack-priv RMIRemoteSessionController remoteSessionController

Constructor Detail

RMIConnectionback to summary
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
createRemoteSession()

Method Detail

beginEarlyTransactionback to summary
public void beginEarlyTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.beginEarlyTransaction.

INTERNAL: Begin an early unit of work transaction.

Annotations
@Override
beginTransactionback to summary
public void beginTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.beginTransaction.

INTERNAL: Begin a transaction on the database.

Annotations
@Override
commitRootUnitOfWorkback to summary
public RemoteUnitOfWork commitRootUnitOfWork(RemoteUnitOfWork theRemoteUnitOfWork)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.commitRootUnitOfWork.

INTERNAL: Commit root unit of work from the client side to the server side.

Annotations
@Override
commitTransactionback to summary
public void commitTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.commitTransaction.

INTERNAL: Commit a transaction on the database.

Annotations
@Override
createRemoteSessionback to summary
public Session createRemoteSession()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.createRemoteSession.

PUBLIC: Returns a remote session.

Annotations
@Override
cursoredStreamCloseback to summary
public void cursoredStreamClose(ObjID remoteCursoredStreamOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamClose.

Used for closing cursored streams across RMI.

Annotations
@Override
cursoredStreamNextPageback to summary
public Vector<E> cursoredStreamNextPage(RemoteCursoredStream remoteCursoredStream, ReadQuery query, DistributedSession session, int pageSize)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamNextPage.

Retrieve next page size of objects from the remote cursored stream

Annotations
@Override
cursoredStreamSizeback to summary
public int cursoredStreamSize(ObjID remoteCursoredStreamID)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursoredStreamSize.

Return the cursored stream size

Annotations
@Override
cursorSelectObjectsback to summary
public RemoteCursoredStream cursorSelectObjects(CursoredStreamPolicy policy, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursorSelectObjects.

INTERNAL: Returns remote cursor stream

Annotations
@Override
cursorSelectObjectsback to summary
public RemoteScrollableCursor cursorSelectObjects(ScrollableCursorPolicy policy, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.cursorSelectObjects.

INTERNAL: Returns remote cursor stream

Annotations
@Override
getDefaultReadOnlyClassesback to summary
public Vector<E> getDefaultReadOnlyClasses()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getDefaultReadOnlyClasses.

INTERNAL Return the read-only classes

Annotations
@Override
getDescriptorback to summary
public ClassDescriptor getDescriptor(Class<?> domainClass)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getDescriptor.

INTERNAL: Return the table descriptor specified for the class.

Annotations
@Override
getDescriptorForAliasback to summary
public ClassDescriptor getDescriptorForAlias(String alias)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getDescriptorForAlias.

INTERNAL: Return the table descriptor specified for the alias.

Annotations
@Override
getLoginback to summary
public Login getLogin()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getLogin.

INTERNAL: Return the table descriptor specified for the class.

Annotations
@Override
getRemoteSessionControllerback to summary
public RMIRemoteSessionController getRemoteSessionController()

INTERNAL: Return the remote session controller

getSequenceNumberNamedback to summary
public Object getSequenceNumberNamed(Object remoteFunctionCall)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.getSequenceNumberNamed.

INTERNAL: Perform remote function call

Annotations
@Override
initializeIdentityMapsOnServerSessionback to summary
public void initializeIdentityMapsOnServerSession()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.initializeIdentityMapsOnServerSession.

INTERNAL: Reset the cache on the server-side session.

Annotations
@Override
instantiateRemoteValueHolderOnServerback to summary
public Transporter instantiateRemoteValueHolderOnServer(RemoteValueHolder<T> remoteValueHolder)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.instantiateRemoteValueHolderOnServer.

INTERNAL: Instantiate remote value holder on the server

Annotations
@Override
processCommandback to summary
public void processCommand(RemoteCommand command)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.processCommand.

ADVANCED: This method will send the command to the remote session for processing

Parameters
command:RemoteCommand

Contains a command that will be executed on the remote session

Annotations
@Override
See Also
org.eclipse.persistence.internal.sessions.remote.RemoteCommand
remoteExecuteback to summary
public Transporter remoteExecute(DatabaseQuery query)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.remoteExecute.

INTERNAL: Execute the query on the server.

Annotations
@Override
remoteExecuteNamedQueryback to summary
public Transporter remoteExecuteNamedQuery(String name, Class<?> javaClass, Vector<E> arguments)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.remoteExecuteNamedQuery.

INTERNAL: Execute query remotely.

Annotations
@Override
rollbackTransactionback to summary
public void rollbackTransaction()

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.rollbackTransaction.

INTERNAL: Rollback a transaction on the database.

Annotations
@Override
scrollableCursorAbsoluteback to summary
public boolean scrollableCursorAbsolute(ObjID remoteScrollableCursorOid, int rows)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorAbsolute.

Moves the cursor to the given row number in the result set

Annotations
@Override
scrollableCursorAfterLastback to summary
public void scrollableCursorAfterLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorAfterLast.

Moves the cursor to the end of the result set, just after the last row.

Annotations
@Override
scrollableCursorBeforeFirstback to summary
public void scrollableCursorBeforeFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorBeforeFirst.

Moves the cursor to the front of the result set, just before the first row

Annotations
@Override
scrollableCursorCloseback to summary
public void scrollableCursorClose(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorClose.

Used for closing scrollable cursor across RMI.

Annotations
@Override
scrollableCursorCurrentIndexback to summary
public int scrollableCursorCurrentIndex(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorCurrentIndex.

Retrieves the current row index number

Annotations
@Override
scrollableCursorFirstback to summary
public boolean scrollableCursorFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorFirst.

Moves the cursor to the first row in the result set

Annotations
@Override
scrollableCursorIsAfterLastback to summary
public boolean scrollableCursorIsAfterLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsAfterLast.

Indicates whether the cursor is after the last row in the result set.

Annotations
@Override
scrollableCursorIsBeforeFirstback to summary
public boolean scrollableCursorIsBeforeFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsBeforeFirst.

Indicates whether the cursor is before the first row in the result set.

Annotations
@Override
scrollableCursorIsFirstback to summary
public boolean scrollableCursorIsFirst(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsFirst.

Indicates whether the cursor is on the first row of the result set.

Annotations
@Override
scrollableCursorIsLastback to summary
public boolean scrollableCursorIsLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorIsLast.

Indicates whether the cursor is on the last row of the result set.

Annotations
@Override
scrollableCursorLastback to summary
public boolean scrollableCursorLast(ObjID remoteScrollableCursorOid)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorLast.

Moves the cursor to the last row in the result set

Annotations
@Override
scrollableCursorNextObjectback to summary
public Object scrollableCursorNextObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorNextObject.

Retrieve next object from the remote scrollable cursor

Annotations
@Override
scrollableCursorPreviousObjectback to summary
public Object scrollableCursorPreviousObject(ObjID remoteScrollableCursorOid, ReadQuery query, DistributedSession session)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorPreviousObject.

Retrieve previous object from the remote scrollable cursor

Annotations
@Override
scrollableCursorRelativeback to summary
public boolean scrollableCursorRelative(ObjID remoteScrollableCursorOid, int rows)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorRelative.

Moves the cursor to the given row number in the result set

Annotations
@Override
scrollableCursorSizeback to summary
public int scrollableCursorSize(ObjID cursorId)

Implements abstract org.eclipse.persistence.internal.sessions.remote.RemoteConnection.scrollableCursorSize.

Return the scrollable cursor size

Annotations
@Override
setRemoteSessionControllerback to summary
public void setRemoteSessionController(RMIRemoteSessionController remoteSessionController)

INTERNAL: Set remote session controller