4 import java.util.Vector;
6 import com.db4o.ObjectContainer;
7 import com.db4o.ObjectSet;
9 import dataAccess.DB4oManager;
10 import domain.Booking;
13 import domain.RuralHouse;
14 import exceptions.OfferCanNotBeBooked;
16 public final class BookingManager {
18 private int bookingNumber = 0;
19 dataAccess.DB4oManager dbMngr;
21 private static BookingManager theBookingManager;
23 public BookingManager() {
25 this.dbMngr = DB4oManager.getInstance();
26 } catch (Exception e) {
32 * This method returns the next Booking number
34 * @return the book number
36 public static int getNumber() {
37 ObjectContainer db = DB4oManager.getContainer();
38 BookingManager b = getInstance();
42 return b.bookingNumber;
46 * This method returns the instance of the BookingManager class
48 * @return the booking manager
50 public static BookingManager getInstance() {
51 ObjectContainer db = DB4oManager.getContainer();
52 BookingManager b = new BookingManager();
53 ObjectSet<BookingManager> result = db.queryByExample(b);
54 if (!result.hasNext()) {
55 theBookingManager = new BookingManager();
56 db.store(theBookingManager);
59 theBookingManager = (BookingManager) result.next();
60 return theBookingManager;
63 public void removeBooking(Booking B) {
70 * This method creates a book with a corresponding parameters
73 * day, last day, house number and telephone
76 public Booking createBooking(RuralHouse ruralHouse, Date firstDate,
77 Date lastDate, String bookTelephoneNumber)
78 throws OfferCanNotBeBooked {
80 return dbMngr.createBooking(ruralHouse, firstDate, lastDate,