import java.rmi.Remote; import java.rmi.RemoteException; public interface GatewayInterface extends Remote { // returned handle must be used to access all functions public int getConnectionHandle (String driverClass, String databaseURL, String username, String password) throws RemoteException; public int getStatementHandle (int cHandle) throws RemoteException; public void closeConnectionHandle (int handle) throws RemoteException; public void closeStatementHandle (int handle) throws RemoteException; public void closeResultSetHandle (int handle) throws RemoteException; public String getExceptionMessage (int handle) throws RemoteException; public void executeUpdate (int handle, String sql) throws RemoteException; public int executeQuery (int handle, String sql) throws RemoteException; public boolean nextRow (int handle) throws RemoteException; public double getValue (int handle, int colNum) throws RemoteException; public String getText (int handle, int colNum) throws RemoteException; public void setValue (int handle, int colNum, double value) throws RemoteException; public void setText (int handle, int colNum, String text) throws RemoteException; public void insertRow (int handle) throws RemoteException; public void moveToInsertRow (int handle) throws RemoteException; public String getColumnName (int handle, int colNum) throws RemoteException; public int getColumnType (int handle, int colNum) throws RemoteException; public int getColumnCount (int handle) throws RemoteException; public int getColumnDisplaySize (int handle, int colNum) throws RemoteException; }