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) {
68 public Vector<Booking> getAllBookings(Owner ow) {
69 Vector<Booking> books = new Vector<Booking>();
70 for (RuralHouse rh : ow.getRuralHouses()) {
71 Vector<Offer> off = rh.getAllOffers();
72 for (Offer of : off) {
73 System.out.print(of.toString());
74 if (of.getBooking() != null) {
76 books.add(of.getBooking());
84 * This method creates a book with a corresponding parameters
87 * day, last day, house number and telephone
90 public Booking createBooking(RuralHouse ruralHouse, Date firstDate,
91 Date lastDate, String bookTelephoneNumber)
92 throws OfferCanNotBeBooked {
94 return dbMngr.createBooking(ruralHouse, firstDate, lastDate,