5 import com.db4o.ObjectContainer;
6 import com.db4o.ObjectSet;
8 import dataAccess.DB4oManager;
10 import domain.RuralHouse;
11 import exceptions.OfferCanNotBeBooked;
14 public final class BookingManager {
16 private int bookingNumber = 0;
17 dataAccess.DB4oManager dbMngr;
19 private static BookingManager theBookingManager;
21 public BookingManager() {
23 this.dbMngr = DB4oManager.getInstance();
24 } catch (Exception e) {
30 * This method returns the next Booking number
32 * @return the book number
34 public static int getNumber(){
35 ObjectContainer db=DB4oManager.getContainer();
36 BookingManager b=getInstance();
40 return b.bookingNumber;
44 * This method returns the instance of the BookingManager class
46 * @return the booking manager
48 public static BookingManager getInstance() {
49 ObjectContainer db=DB4oManager.getContainer();
50 BookingManager b = new BookingManager();
51 ObjectSet<BookingManager> result = db.queryByExample(b);
52 if (!result.hasNext()){
53 theBookingManager = new BookingManager();
54 db.store(theBookingManager);
56 } else theBookingManager=(BookingManager)result.next();
57 return theBookingManager;
61 * This method creates a book with a corresponding parameters
64 * day, last day, house number and telephone
67 public Booking createBooking(RuralHouse ruralHouse, Date firstDate, Date lastDate, String bookTelephoneNumber)
68 throws OfferCanNotBeBooked {
70 return dbMngr.createBooking(ruralHouse,firstDate,lastDate,bookTelephoneNumber);