org.eclipse.persistence.sessions.remote.rmi.RMIRemoteSessionController Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of eclipselink Show documentation
Show all versions of eclipselink Show documentation
EclipseLink build based upon Git transaction f2b9fc5
/*
* Copyright (c) 1998, 2023 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation from Oracle TopLink
package org.eclipse.persistence.sessions.remote.rmi;
import org.eclipse.persistence.internal.sessions.remote.Transporter;
import java.rmi.Remote;
import java.rmi.RemoteException;
/**
* Defines the public methods remote connection can invoke on the remote session controller.
*/
public interface RMIRemoteSessionController extends Remote {
/**
* INTERNAL:
* This method is intended to be used by by sessions that wish to execute a command on a
* remote session
* @param remoteTransporter The Transporter carrying the command to be executed on the remote session
*/
Transporter processCommand(Transporter remoteTransporter) throws RemoteException;
Transporter beginTransaction() throws RemoteException;
Transporter beginEarlyTransaction() throws RemoteException;
/**
* To commit remote unit of work on the server side.
*/
Transporter commitRootUnitOfWork(Transporter remoteUnitOfWork) throws RemoteException;
/**
* Commit a transaction on the database.
*/
Transporter commitTransaction() throws RemoteException;
/**
* Used for closing cursored streams across RMI.
*/
Transporter cursoredStreamClose(Transporter remoetCursoredStreamID) throws RemoteException;
/**
* Retrieve next page size of objects from the remote cursored stream
*/
Transporter cursoredStreamNextPage(Transporter remoteCursoredStream, int pageSize) throws RemoteException;
/**
* INTERNAL:
* Return the cursored stream size
*/
Transporter cursoredStreamSize(Transporter cursoredStream) throws RemoteException;
/**
* To get remote cursor stub in a transporter
*/
Transporter cursorSelectObjects(Transporter policy) throws RemoteException;
/**
* A remote query after serialization is executed locally.
*/
Transporter executeNamedQuery(Transporter name, Transporter theClass, Transporter arguments) throws RemoteException;
/**
* To execute remote query on the server side.
*/
Transporter executeQuery(Transporter query) throws RemoteException;
/**
* To get the default read-only classes from the server side.
**/
Transporter getDefaultReadOnlyClasses() throws RemoteException;
/**
* To get descriptor from the server side
*/
Transporter getDescriptor(Transporter domainClass) throws RemoteException;
/**
* To get descriptor from the server side
*/
Transporter getDescriptorForAlias(Transporter alias) throws RemoteException;
/**
* To get login from the server side
*/
Transporter getLogin() throws RemoteException;
/**
* INTERNAL:
* Get the value returned by remote function call
*/
Transporter getSequenceNumberNamed(Transporter remoteFunctionCall) throws RemoteException;
Transporter initializeIdentityMapsOnServerSession() throws RemoteException;
/**
* To instantiate remote value holder on the server side.
*/
Transporter instantiateRemoteValueHolderOnServer(Transporter remoteValueHolder) throws RemoteException;
/**
* Rollback a transaction on the database.
*/
Transporter rollbackTransaction() throws RemoteException;
/**
* Moves the cursor to the given row number in the result set
*/
Transporter scrollableCursorAbsolute(Transporter remoteScrollableCursorOid, int rows) throws RemoteException;
/**
* Moves the cursor to the end of the result set, just after the last row.
*/
Transporter scrollableCursorAfterLast(Transporter remoteScrollableCursorOid) throws RemoteException;
/**
* Moves the cursor to the front of the result set, just before the first row
*/
Transporter scrollableCursorBeforeFirst(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Used for closing scrollable cursor across RMI.
*/
Transporter scrollableCursorClose(Transporter remoteScrollableCursorOid) throws RemoteException;
/**
* Retrieves the current row index number
*/
Transporter scrollableCursorCurrentIndex(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Moves the cursor to the first row in the result set
*/
Transporter scrollableCursorFirst(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Indicates whether the cursor is after the last row in the result set.
*/
Transporter scrollableCursorIsAfterLast(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Indicates whether the cursor is before the first row in the result set.
*/
Transporter scrollableCursorIsBeforeFirst(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Indicates whether the cursor is on the first row of the result set.
*/
Transporter scrollableCursorIsFirst(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Indicates whether the cursor is on the last row of the result set.
*/
Transporter scrollableCursorIsLast(Transporter remoteScrollableCursor) throws RemoteException;
/**
* Moves the cursor to the last row in the result set
*/
Transporter scrollableCursorLast(Transporter remoteScrollableCursor) throws RemoteException;
/**
* INTERNAL:
* Retrieve next object from the scrollable cursor
*/
Transporter scrollableCursorNextObject(Transporter scrollableCursorOid) throws RemoteException;
/**
* INTERNAL:
* Retrieve previous object from the scrollable cursor
*/
Transporter scrollableCursorPreviousObject(Transporter scrollableCursorOid) throws RemoteException;
/**
* Moves the cursor to the given row number in the result set
*/
Transporter scrollableCursorRelative(Transporter remoteScrollableCursor, int rows) throws RemoteException;
/**
* INTERNAL:
* Return the cursor size
*/
Transporter scrollableCursorSize(Transporter cursoredStream) throws RemoteException;
}