/**
 * DbWrapperFabrikkImpl.java  - "Programmering i Java", 4.utgave - 2009-07-01
 *
 * Implementerer en fabrikk for tilknytninger til en bestemt database.
 */

package mittBibliotek.database;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

public class DbWrapperFabrikkImpl extends UnicastRemoteObject
                                                   implements DbWrapperFabrikk {
  private DatabasePool dbPool;
  public DbWrapperFabrikkImpl(int poolKapasitet,
                       String dbDriver, String dbNavn) throws Exception {
    dbPool = new DatabasePool(poolKapasitet, dbDriver, dbNavn);
  }

  /* Lager databasewrapper til klient */
  public Database lagDbWrapper() throws RemoteException {
    return new DatabaseImpl(dbPool);
  }

  /* Denne metoden er ikke med i interfacet, men brukes av tjenerprogrammet */
  public void stengDatabasePool() {
    dbPool.lukkAlleForbindelser();
  }
}